您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:将Unicode文件转换为ASCII文件,而CSV文件没有错误

Python:将Unicode文件转换为ASCII文件,而CSV文件没有错误

正确,ñ不是有效的ASCII字符,因此您不能将其编码为ASCII。因此,就像上面的代码一样,您可以忽略它们。另一种方法删除重音符号,您可以在此处找到:删除Python unicode字符串中的重音符号的最佳方法是什么?

但是请注意,这两种技术都可能导致不良后果,例如使单词实际含义有所不同等。因此,最好的方法是保留重音。然后您不能使用ASCII,但是可以使用其他编码。UTF-8是安全的选择。Latin-1或ISO-88591-1是常见的一种,但仅包含西欧字符。CP-1252在Windows等上很常见。

因此,只需将“ ascii”切换为所需的任何编码即可。

根据您的评论,您的实际代码是:

writer.writerow([s.encode('utf8') if type(s) is unicode else s for s in row])

哪里

row = (56, u"LIMPIADOR BA\xd1O 1'5 L")

现在,我认为这应该有效,但显然无效。我认为unicode还是会错误地传递给cvs编写器。将较长的线展开到其零件上:

col1, col2 = row # Use the names of what is actually there instead
row = col1, col2.encode('utf8')
writer.writerow(row)

现在,您将所有内容粘贴在同一行中这一事实将不会隐藏您的真正错误。如果您包括适当的回溯,也可能可以避免这种情况。

python 2022/1/1 18:33:13 有215人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶