pandas以ASCII忽略编码写入csv

2 投票
1 回答
2599 浏览
提问于 2025-04-18 03:57

Pandas的CSV解析器(http://pandas.pydata.org/pandas-docs/stable/generated/pandas.io.parsers.read_csv.html)支持多种编码方式:

import pandas
data = pandas.read_csv(myfile, encoding='utf-8', quotechar='"', delimiter=',') 

我该如何在我的数据框中实现ASCII忽略编码的情况呢?

encode('ascii', 'ignore')

1 个回答

1

Pandas好像不支持这样做。我在用pandas读取之前,需要先处理一下我的CSV文件:

decoded = codecs.decode(myfile.read(), "utf-8", "ignore")
encoded = codecs.encode(decoded, "utf-8", "ignore") #probably superfluous
fakefile = StringIO.StringIO(encoded)
data = pandas.read_csv(fakefile, encoding="utf-8")

如果你的CSV文件非常大,这样做可能会很麻烦,不过你可以一次读取CSV文件的一部分。

撰写回答