[解決済み] PandasとPythonでCSVファイルを読み込むとUnicodeDecodeErrorが発生する。
2022-03-17 01:13:50
質問
30,000個の類似ファイルを処理するプログラムを実行しています。そのうちのランダムな数のファイルが停止し、このエラーを発生させています。
File "C:\Importer\src\dfman\importer.py", line 26, in import_chr
data = pd.read_csv(filepath, names=fields)
File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 400, in parser_f
return _read(filepath_or_buffer, kwds)
File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 205, in _read
return parser.read()
File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 608, in read
ret = self._engine.read(nrows)
File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 1028, in read
data = self._reader.read(nrows)
File "parser.pyx", line 706, in pandas.parser.TextReader.read (pandas\parser.c:6745)
File "parser.pyx", line 728, in pandas.parser.TextReader._read_low_memory (pandas\parser.c:6964)
File "parser.pyx", line 804, in pandas.parser.TextReader._read_rows (pandas\parser.c:7780)
File "parser.pyx", line 890, in pandas.parser.TextReader._convert_column_data (pandas\parser.c:8793)
File "parser.pyx", line 950, in pandas.parser.TextReader._convert_tokens (pandas\parser.c:9484)
File "parser.pyx", line 1026, in pandas.parser.TextReader._convert_with_dtype (pandas\parser.c:10642)
File "parser.pyx", line 1046, in pandas.parser.TextReader._string_convert (pandas\parser.c:10853)
File "parser.pyx", line 1278, in pandas.parser._string_box_utf8 (pandas\parser.c:15657)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xda in position 6: invalid continuation byte
これらのファイルのソース/作成元はすべて同じ場所です。これを修正してインポートを進めるには、どのような方法があるのでしょうか?
解決方法は?
read_csv
は
encoding
オプションで、異なるフォーマットのファイルを扱うことができます。私は主に
read_csv('file', encoding = "ISO-8859-1")
または、代わりに
encoding = "utf-8"
は読書用、一般的には
utf-8
のために
to_csv
.
また、いくつかの
alias
のようなオプションがあります。
'latin'
または
'cp1252'
(Windows)の代わりに
'ISO-8859-1'
(参照
Pythonドキュメント
また、他の多くのエンコーディングについても同様です)。
参照 Pandasの関連ドキュメント , csv ファイルに関する Python ドキュメントの例 また、関連する質問はSOにたくさんあります。背景となる良いリソースは ユニコードと文字セットについて開発者が知っておくべきこと .
エンコーディングを検出するには(ファイルに非アスキー文字が含まれていると仮定して)、次のようにします。
enca
(参照
マンページ
) または
file -i
(リナックス)または
file -I
(osx) (
マンページ
).
関連
-
Pythonコンテナのための組み込み汎用関数操作
-
pythonを使ったオフィス自動化コード例
-
PicgoのイメージベッドツールをPythonで実装する
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み】OSError: Pandas の csv でファイルからの初期化に失敗しました。
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] pandasのDataFrameをCSVファイルに書き出す
最新
-
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機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み】ValueError: xとyは同じサイズでなければならない