Lors de la lecture d'un fichier CSV avec des pandas, c'est très pratique car il suffit de read_csv
.
import pandas as pd
pd.read_csv("file/to/path")
Normalement, il n'y a pas de problème avec ce qui précède, mais s'il y a des caractères incorrects dans le CSV, l'erreur suivante sera générée.
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 0: invalid start byte
Il semble qu'il soit en colère, "je ne peux pas le décoder."
Puisque le code de caractère du CSV créé par Excel est "shift-jis", je vais essayer de le spécifier avec ʻencoding` de lecture pour le moment.
import pandas as import pd
pd.read_csv("file/to/path", encoding="shift-jis")
Après tout, c'est une erreur. C'est vrai.
UnicodeDecodeError: 'shift_jis' codec can't decode byte 0x87 in position 0: illegal multibyte sequence
Comme solution, il semble que vous puissiez le lire en spécifiant ʻignore dans
codecs.open, en ignorant l'erreur, en l'ouvrant et en
pd.read_table`.
with codecs.open("file/to/path", "r", "Shift-JIS", "ignore") as file:
df = pd.read_table(file, delimiter=",")
print(df)
Il semble que vous puissiez le passer tel quel en tant qu'objet StreamReaderWriter sans faire file.read ()
.
J'en suis accro, alors j'ai pris une note.
Recommended Posts