我是这样从熊猫写到csv的:
df.to_csv(extractpath+'/extract_{}'.format(locname))
现在,当locname变量包含克罗地亚语字符时,出现错误
*UnicodeEncodeError: 'ascii' codec can't encode character '\u0161' in position 53: ordinal not in range(128)*
我想出的唯一解决方法是:
df.to_csv(extractpath+'/extract_{}'.format(locname.encode('utf-8')))
但是,尽管错误已消失,但是文件名不再正确,例如,它们看起来像:
*extract_b'Vara\xc5\xbedin'* instead of *extract_Varaždin*
如何正确解决问题?
答案 0 :(得分:0)
我在shell中错误地设置了LANG变量,而没有意识到它。因此,当我从shell脚本执行python脚本时,它不起作用。现在,更正LANG变量后即可。