JSON Lines files (.jsonl, .ndjson) are read as CSV and profiled as broken fragments
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 45/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- javascript, python
調査の方向性
Start by running the repro command, which reports 19 rows and 2 columns for a 20-line .jsonl file. The suffix routing is in read_table() in faircode/loaders.py and faircode/loaders_extra.py, and the web side is parseJSON() in assets/profiler-engine.js, with the accept list in profiler.html. Done means either .jsonl/.ndjson load as 20 records with a test in tests/test_loaders.py, or the suffix is rejected with a clear message. Maintainers have not chosen between the two options yet, so confirm which one before writing code.
索引モデルが issue の本文から書いたものです。
説明
Where: faircode/loaders.py / faircode/loaders_extra.py read_table() (unknown suffix falls through to the CSV sniffer), assets/profiler-engine.js parseJSON(), assets/profiler-heldout.js / profiler.html (accept list), tests/test_loaders.py.
Current gap: a JSON Lines export (one object per line, the default of many tools) is neither supported nor rejected. The CLI reads it as comma-separated text, so each line is split inside the JSON braces and the "dataset" becomes columns named like {"sex": "f"; the report prints rows and columns and exits 0. The web engine reports "not valid JSON". Neither says that JSON Lines is the problem.
Repro:
$ python3 -c "import json; open('rows.jsonl','w').write('\n'.join(json.dumps({'sex': 'm' if i % 2 else 'f', 'age': 25 + i % 30}) for i in range(20)) + '\n')"
$ python3 -m faircode profile rows.jsonl | grep -E "Rows|Columns"
Rows: 19 Columns: 2 # 20 records, two real columns, no error
Suggested approach: read .jsonl/.ndjson with pd.read_json(lines=True) (and in the web engine by parsing line by line), sharing the flatten rule, and add them to the file picker and the parity tests; if support is declined, reject the suffix with "JSON Lines is not supported: convert to a JSON array".
- 主要言語
- HTML
- スター
- 47
- フォーク
- 45
- 平均マージ
- 2時間 49分
- マージ済み PR(30日)
- 61
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
yakew7/Fair-Code のほかの issue
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
bug documentation good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
Numeric column headers keep their type in Python (the integer 2020) and are text in the web engineオープンbug help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
yakew7/Fair-Code の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
anomalyco/opencode#56380 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Add Photocraftオープンenhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
メンテナーはふだん 1 日以内に返信
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:session-state issue-rating: 🦞 diamond lobster no-stale P2
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
openclaw/wacli#503 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 81/100
apache/rocketmq-dashboard#6895 ·
メンテナーはふだん 3 日以内に返信
-
bug runtime
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
frostney/GocciaScript#1741 ·
メンテナーはふだん 1 日以内に返信