【发布时间】:2017-07-13 10:06:16
【问题描述】:
我已将 csv 文件读入 python 2.7(Windows 机器)。销售价格列似乎是字符串和浮动的混合体。有些行包含欧元符号€。 Python 将 € 视为 �。
df = pd.read_csv('sales.csv', thousands=',')
print df
Gender Size Color Category Sales Price
Female 36-38 Blue Socks 25
Female 44-46 Pink Socks 13.2
Unisex 36-38 Black Socks � 19.00
Unisex 40-42 Pink Socks � 18.50
Female 38 Yellow Pants � 89,00
Female 43 Black Pants � 89,00
我假设一个简单的替换行就可以解决它
df=df.replace('\�','',regex=True).astype(float)
但是我得到了编码错误
SyntaxError: Non-ASCII character
希望听到您对此的看法
【问题讨论】:
-
df = pd.read_csv('sales.csv', thousands=',', encoding='utf-8')或df = pd.read_csv('sales.csv', thousands=',', encoding='latin')是如何工作的? -
它们都不起作用,同样的错误
-
尝试使用
chardet实用程序查找编码,然后在pandas 参数中指定它。
标签: pandas encoding non-ascii-characters