3 回答

TA贡献2011条经验 获得超2个赞
我将不得不进一步研究这个问题,但是print在发送到文件的过程中可能对您的字符串做了一些奇怪的事情。
既然您知道datafromAPI是一个bytes对象,请考虑尝试以下三种两种不同的方法:
[ write+文本模式]
with open('dataset.csv', "w", encoding="utf-8") as myfile:
myfile.write(datafromAPI.decode("utf-8"))
[ write+二进制模式]
with open('dataset.csv', "wb") as myfile:
myfile.write(datafromAPI)
如果您使用支持源编码的编辑器打开它,最后一个版本肯定会起作用。
更新: 删除了我不确定是否会工作的版本——它不会。

TA贡献1875条经验 获得超5个赞
一种可能是您的文件没问题,但 Notepad++ 使用错误的编码打开它。
请注意,编码菜单中有两组项目:
以 UTF-8 编码会将当前数据重新解释为 UTF-8。当您使用此项目时,您应该会看到编辑器中的文本发生变化。
转换为 UTF-8会将加载的数据从当前编码转换为 UTF-8。
加载文件,然后在状态栏中检查当前编码。如果不显示 UTF-8,请使用“以 UTF-8 编码”将其视为 UTF-8。
第二种可能性是服务器错误地将 ISO 8859-1 到 UTF-8 转换应用于已编码为 UTF-8 的数据。在这种情况下,修复服务器。
没有找到匹配的内容?试试慕课网站内搜索吧
添加回答
举报