[解決済み】_csv.Error: field larger than field limit (131072)
2022-01-26 15:09:39
質問
非常に大きなフィールドを持つcsvファイルを読み込むスクリプトがあります。
# example from http://docs.python.org/3.3/library/csv.html?highlight=csv%20dictreader#examples
import csv
with open('some.csv', newline='') as f:
reader = csv.reader(f)
for row in reader:
print(row)
しかし、これでは一部のcsvファイルで以下のようなエラーが発生します。
_csv.Error: field larger than field limit (131072)
巨大なフィールドを持つcsvファイルを解析するにはどうしたらよいですか?巨大なフィールドを持つ行をスキップすることは、その後のステップでデータを分析する必要があるため、オプションではありません。
どのように解決するのですか?
csvファイルには非常に巨大なフィールドが含まれている可能性があります。
field_size_limit
:
import sys
import csv
csv.field_size_limit(sys.maxsize)
sys.maxsize
は、Python 2.x と 3.x で動作します。
sys.maxint
の場合、Python 2.x でのみ動作します (
SO: what-is-sys-maxint-in-python-3
)
更新情報
Geoffが指摘したように、上記のコードでは以下のようなエラーが発生する可能性があります。
OverflowError: Python int too large to convert to C long
.
これを回避するためには、次のようにします。
クイックアンドダーティ
のコード (Python 2 と Python 3 のあるすべてのシステムで動作するはずです) があります。
import sys
import csv
maxInt = sys.maxsize
while True:
# decrease the maxInt value by factor 10
# as long as the OverflowError occurs.
try:
csv.field_size_limit(maxInt)
break
except OverflowError:
maxInt = int(maxInt/10)
関連
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み] なぜC++はPythonよりもstdinからの行の読み込みが遅いのですか?
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
-
[解決済み] なぜ[]はlist()よりも速いのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonによるLeNetネットワークモデルの学習と予測
-
python call matlab メソッドの詳細
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み] Python シェルが 32bit で実行されているか 64bit で実行されているかを判断するにはどうすればよいですか?
-
[解決済み】Python 3 の sys.maxint とは何ですか?