duckdb sniff_csv fails with > 10240 lines

オープン
#113 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
38/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
python
領域
database

調査の方向性

提供されている Python execute 呼び出しを、read_csv、header=True、delim=';'、および sample_size の値 10240 と 10241 を使って開始します。10240 行を超えてサンプリングすると sniff_csv が失敗する理由を調査します。完了条件は、より大きな sample_size 値で再現時に "unable to detect csv format" エラーが発生しなくなることです。

索引モデルが issue の本文から書いたものです。

説明

needs triage
What happens?

When I use sniff_csv implicitly using read_csv with the arguments ", header=True, delim=';', sample_size=10241", it triggers an "unable to detect csv format"-error.

  • I can place multiple different lines on line 20241 and they all trigger it. The lines seem fine and not different than any others.
  • When I reduce the sample_size to 10240, the import works again.
  • When I then remove lines 10236-10240 from the original file and keep the sample_size on 10240, it also works.

This indicates to me that 10240 is an upper limit for the sampling before it goes wrong, but the default is of 20xxx.

I unfortunately can't provide you the sample.

The duckdb-version is "v1.2.0"

To Reproduce
self._db.execute(f"CREATE OR REPLACE TABLE {all_table_name} AS SELECT * FROM read_csv('{self.event.tmp_file_path}', header=True, delim=';', sample_size=10241)")
OS:

Linux

DuckDB Package Version:

1.2.0

Python Version:

3.13.7

Full Name:

Michel

Affiliation:

Acme

What is the latest build you tested with? If possible, we recommend testing with the latest nightly build.

I have tested with a stable release

Did you include all relevant data sets for reproducing the issue?

No - I cannot share the data sets because they are confidential

Did you include all code required to reproduce the issue?
  • Yes, I have
Did you include all relevant configuration to reproduce the issue?
  • Yes, I have
主要言語
Python
スター
186
フォーク
113
平均マージ
20時間 58分
マージ済み PR(30日)
11

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

duckdb/duckdb-python のほかの issue

duckdb/duckdb-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。