[英]Handle UnicodeEncodeError in python2.7
我有以下代码:
for index, row in df_out.iterrows():
yield {
'CustomerName': str(row['CustomerName'])
}
我得到了UnicodeEncodeError:
RuntimeError: UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 10: ordinal not in range(128)
如何处理该零件以避免该错误?
str(row['CustomerName'])
如果您可能在python2中处理非ASCII文本,则可以
str(some_text)
通常是个坏主意,因为如果some_text
包含非ASCII字符,则会收到UnicodeEncodeError
。 正确的代码是
unicode(some_text)
因为unicode()
不会尝试将文本编码为ASCII。
但是鉴于此代码
for index, row in df_out.iterrows():
yield {
'CustomerName': str(row['CustomerName'])
}
row['CustomerName']
很可能已经是一个unicode
对象,因此在其上调用unicode
将是多余的。 这可能会起作用:
for index, row in df_out.iterrows():
yield {
'CustomerName': row['CustomerName']
}
总结一下:删除str
调用。 如果这样不起作用,请尝试将str
替换为unicode
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.