यदि आप 'utf-8' को एन्कोडिंग करने के लिए समस्याएँ उठा रहे हैं तो कुछ और आप कोशिश कर सकते हैं और सेल द्वारा सेल पर जाना चाहते हैं जो आप निम्नलिखित की कोशिश कर सकते हैं।
अजगर २
(जहां "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'
अजगर ३
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
सूचकांक को छोड़ने के लिए जोड़ूंगा।