A legacy .xls cell that says N/A or NULL is dropped from the index
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 30/100
調査の方向性
Start with api/core/rag/extractor/excel_extractor.py and compare the pandas-based .xls branch with the openpyxl .xlsx branch. Review issue #42371 and its tests; done means literal values such as N/A and NULL remain available in indexed row output without dropping their column names.
索引モデルが issue の本文から書いたものです。
説明
Self Checks
- I have read the Contributing Guide and Language Policy.
- This is only for bug report, if you would like to ask a question, please head to Discussions.
- I have searched for existing issues search for existing issues, including closed ones.
- I confirm that I am using English to submit this report, otherwise it will be closed.
- 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
- Please do not modify this template :) and fill in all the required fields.
Dify version
main (9c6c48b50b)
Cloud or Self Hosted
Self Hosted (Source)
Steps to reproduce
Upload a legacy .xls to a knowledge base in which some cells literally say N/A, NA, n/a, NULL, None, NaN or nan — "not applicable" in a hand-written sheet, NULL in a database export.
api/core/rag/extractor/excel_extractor.py reads the .xls branch through pandas:
df = excel_file.parse(sheet_name=sheet_name)
pandas treats those seven strings as missing values by default, so the cell arrives as NaN and is skipped together with its column name.
A three-row sheet, written with xlwt and read exactly as the extractor does:
Code | Status | Units indexed today
A1 | N/A | 12 -> "Code":"A1";"Units":"12"
A2 | NULL | 7 "Code":"A2";"Units":"7"
A3 | ok | 3 "Code":"A3";"Status":"ok";"Units":"3"
✔️ Expected Behavior
A cell keeps the text it holds, as the .xlsx branch of the same extractor already does (it walks openpyxl cells and gets the string):
"Code":"A1";"Status":"N/A";"Units":"12"
"Code":"A2";"Status":"NULL";"Units":"7"
"Code":"A3";"Status":"ok";"Units":"3"
❌ Actual Behavior
The Status key is absent from the first two rows, not merely empty. A question such as "what is the status of A1?" finds no evidence in the index, and the chunk looks complete, so nothing signals the loss. dtype=object does not change this; only keep_default_na=False does.
A fix with tests is open in #42371.
- 主要言語
- TypeScript
- スター
- 157k
- フォーク
- 24.7k
- 平均マージ
- 22時間 32分
- マージ済み PR(30日)
- 611
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
langgenius/dify のほかの issue
-
Annotation Reply: a stored score threshold of 0.0 is silently replaced with 1, disabling the feature オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
langgenius/dify#42639 · コメント 1 件 · リアクション 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
langgenius/dify#42468 · コメント 1 件 · リアクション 1 件 ·
-
🐞 bug
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
langgenius/dify#42446 · リアクション 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
langgenius/dify#42355 · コメント 1 件 · リアクション 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
langgenius/dify#42350 · コメント 1 件 · リアクション 1 件 ·
langgenius/dify の issue をすべて見る
似ている issue
-
calcite-components needs triage refactor
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
Esri/calcite-design-system#15203 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 91/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
難易度 1/5 1時間未満 初心者へのやさしさ 95/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
Automattic/studio#4908 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100