อย่างอื่นที่คุณสามารถลองได้หากคุณมีปัญหาในการเข้ารหัสเป็น 'utf-8' และต้องการไปที่เซลล์โดยเซลล์คุณสามารถลองต่อไปนี้
Python 2
(โดยที่ "df" เป็นวัตถุ DataFrame ของคุณ)
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))
คำเตือน: ข้อผิดพลาด = 'ละเว้น' จะไม่แสดงตัวอักษรเช่น
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
index=False
เพื่อวางดัชนี