繁体   English   中英

如何用pandas数据框打开csv文件

[英]How to Open csv file with pandas data frame

有一个包含三列数据帧的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:

我不知道如何将这些数据转换为数据帧,我不认为pandas.read_csv正确处理此错误。

那么,我该如何打开这个文件并获取数据帧呢?

尝试这个:

在文本编辑器中打开cvs文件,并确保以utf-8格式保存。

然后正常读取文件:

import pandas
csvfile = pandas.read_csv('file.csv', encoding='utf-8')

我会尝试使用内置的csv阅读器,然后将数据放入pandas。

import csv
with open('eggs.csv', newline='') as csvfile:
     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
     for row in spamreader:
         print(', '.join(row))

如果这不起作用,那么至少你可以确认它是一个csv问题而不是编码窒息的熊猫问题。

另一个建议是确保使用Python 3.x来处理比2.7更好的编码问题。

如果您可以提供样品,我可以自己测试并相应地更新我的答案。

您可以尝试其他选项进行编码为“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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM