--Umgebung --Windows10 Pro Version 1909 - Python 3.8.5 - Pandas 1.0.5
Traceback (most recent call last):
File "C:/path/to/my_code.py", line 258, in <module>
csv = read_files(target_dir)
File "C:/path/to/my_code.py", line 74, in read_files
data = pd.read_csv(file, encoding="shift_jis")
File "C:\path\to\venv\lib\site-packages\pandas\io\parsers.py", line 676, in parser_f
return _read(filepath_or_buffer, kwds)
File "C:\path\to\venv\lib\site-packages\pandas\io\parsers.py", line 448, in _read
parser = TextFileReader(fp_or_buf, **kwds)
File "C:\path\to\venv\lib\site-packages\pandas\io\parsers.py", line 880, in __init__
self._make_engine(self.engine)
File "C:\path\to\venv\lib\site-packages\pandas\io\parsers.py", line 1114, in _make_engine
self._engine = CParserWrapper(self.f, **self.options)
File "C:\path\to\venv\lib\site-packages\pandas\io\parsers.py", line 1891, in __init__
self._reader = parsers.TextReader(src, **kwds)
File "pandas\_libs\parsers.pyx", line 529, in pandas._libs.parsers.TextReader.__cinit__
File "pandas\_libs\parsers.pyx", line 720, in pandas._libs.parsers.TextReader._get_header
File "pandas\_libs\parsers.pyx", line 916, in pandas._libs.parsers.TextReader._tokenize_rows
File "pandas\_libs\parsers.pyx", line 2063, in pandas._libs.parsers.raise_parser_error
UnicodeDecodeError: 'shift_jis' codec can't decode byte 0xee in position 4225: illegal multibyte sequence
my_code.py
data = pd.read_csv(file, encoding="shift_jis")
Dies ist in test2.csv, ・ Hashigodaka "Taka" ・ Tachisaki "Saki" Dies liegt an der Tatsache, dass Windows-Erweiterungszeichenfolgen wie> gemischt werden. Zu beachtende Punkte, wenn Pandas CSV der Excel-Ausgabe lesen dürfen - Qiita
Ich bin verrückt, also habe ich die Kombination ausprobiert. Ich habe versucht, "Takasaki" als erweiterten Charakter zu verwenden.
read_csv Zeichencode |
Datei von Zeichencode |
Datei von Mit erweiterten Zeichen |
Datei von Keine erweiterten Zeichen |
---|---|---|---|
shift_jis | shift_jis | Error | OK |
shift_jis | cp392 | Error | OK |
cp932 | shift_jis | Error Editor(Sublime Text)damit Wenn Sie erweiterte Zeichen einfügen und speichern 保存はdamitきるけど警告が出る。 Sie sollten bemerken, dass es seltsam ist ... |
OK |
cp932 | cp932 | OK | OK |
Verschiebung mit cp932_Fehler beim Lesen einer Datei mit erweiterten Zeichen mit jis
# ...Kürzung...
UnicodeDecodeError: 'cp932' codec can't decode byte 0x86 in position 5: illegal multibyte sequence
Wenn Sie eine Datei mit Japanisch unter Windows verwenden, ist es besser, sie auf "cp932" zu setzen. Ich habe auch CP932 und SJIS studiert.
my_code.py
data = pd.read_csv(file, encoding="cp932")
Recommended Posts