如果你遇到编码为'utf-8'的问题,并且想要按照单元格移动,你可以尝试以下操作。
的Python 2
(其中 “东风” 就是你的数据框对象)。
for column in df.columns:
for idx in df[column].index:
x = df.get_value(idx,column)
try:
x = unicode(x.encode('utf-8','ignore'),errors ='ignore') if type(x) == unicode else unicode(str(x),errors='ignore')
df.set_value(idx,column,x)
except Exception:
print 'encoding error: {0} {1}'.format(idx,column)
df.set_value(idx,column,'')
continue
然后尝试:
df.to_csv(file_name)
您可以检查的编码栏目编号:
for column in df.columns:
print '{0} {1}'.format(str(type(df[column][0])),str(column))
警告:errors ='ignore'会忽略字符,例如
IN: unicode('Regenexx\xae',errors='ignore')
OUT: u'Regenexx'
的Python 3
for column in df.columns:
for idx in df[column].index:
x = df.get_value(idx,column)
try:
x = x if type(x) == str else str(x).encode('utf-8','ignore').decode('utf-8','ignore')
df.set_value(idx,column,x)
except Exception:
print('encoding error: {0} {1}'.format(idx,column))
df.set_value(idx,column,'')
continue
'编码解决= 'utf-8'' – Private
你也可以使用'df.toCSV(FILE_NAME 09月=' \ t')'等 – Blairg23
@ Blairg23我认为这是这个功能的旧名称,并且贬值了,事实上 - 这在更新版本的熊猫中不再可用! (我不知道什么时候它被删除了......奇怪的是,似乎to_csv已经被用到了0.4之前!http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#id45注意:我们现在在0.14.1) –