Как открыть файл csv с кадром данных pandas
Существует файл формата CSV с тремя столбцами данных. Третья колонка имеет длинный текст. Это сообщение об ошибке произошло, когда я попытался открыть файл, используя pandas.read_csv
message : UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa1 in position 0: invalid start byte.
Но нет проблем с открытием файла с
with open('file.csv', 'r', encoding='utf-8', errors = "ignore") as csvfile:
Я не знаю, как преобразовать эти данные в dataframe, и я не думаю, что pandas.read_csv
обрабатывает эту ошибку.
Итак, как я могу открыть этот файл и получить dataframe?
Попробуй это:
Откройте файл cvs в текстовом редакторе и обязательно сохраните его в формате utf-8.
Затем прочитайте файл как обычно:
import pandas
csvfile = pandas.read_csv('file.csv', encoding='utf-8')
Вы можете попробовать другой вариант для кодирования как "ISO-8859-1"
В твоем случае:
with open('file.csv', 'r', encoding = 'ISO-8859-1', errors = "ignore") as csvfile:
или попробуйте это:
import pandas as pd
data_file = pd.read_csv("file.csv", encoding = "ISO-8859-1")
print(data_file)
Я бы попытался использовать встроенный csv-ридер, а затем поместил данные в панды.
import csv
with open('eggs.csv', newline='') as csvfile:
spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
for row in spamreader:
print(', '.join(row))
Если это не сработает, то, по крайней мере, вы можете подтвердить, что это проблема csv, а не проблема pandas, задыхающаяся от кодировок.
Другая рекомендация состоит в том, чтобы убедиться, что вы используете Python 3.x, который обрабатывает проблемы с кодировкой намного лучше, чем 2.7.
Если вы можете предоставить свой образец, я могу проверить его самостоятельно и соответствующим образом обновить свой ответ.