gpt4 book ai didi

Python:UnicodeEncodeError: 'ascii' 编解码器无法对位置 78 中的字符 u'\xf1' 进行编码:序号不在范围内(128)

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:02 24 4
gpt4 key购买 nike

我已经尝试了两种变体来解决这个问题,但会导致另一个错误。首先尝试 encode,然后尝试 strip (#),假设这是此错误中遇到的问题:

"color":rcolor,"text_color":tcolor})
File "/usr/lib/python2.7/csv.py", line 152, in writerow
return self.writer.writerow(self._dict_to_list(rowdict))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 78: ordinal not in range(128)

我的代码现在看起来像这样:

routes = db.routes.find()
for route in routes:
try:
color = route["properties"]["color"]
color = color.strip('#')
print(color)

tcolor = route["properties"]["tcolor"]
tcolor = tcolor.strip('#')
print(tcolor)
except KeyError:
color = "0000FF"
tcolor = ""

writer.writerow({"route_id":route["route_id"],
"agency_id":route["properties"]["agency_id"],...,
"route_color":color,"route_text_color":tcolor})

我不太确定为什么它一直收到 unicode 错误...

最佳答案

在写入 csv 之前尝试解析您的字典以获得 unicode 值。

def convert(input):
if isinstance(input, dict):
return {convert(key): convert(value) for key, value in input.iteritems()}
elif isinstance(input, list):
return [convert(element) for element in input]
elif isinstance(input, unicode):
return input.encode('utf-8')
else:
return input

if __name__ == "__main__":
utf_route = convert(route)

因此,如果您在写入 csv 时遇到错误,请尝试下面的方法

import codecs

with codecs.open("local/file1.csv", "w", encoding='utf8') as f:
writer = csv.writer(f, delimiter=",")
writer.writerow(data.keys())
writer.writerow(data.values())

关于Python:UnicodeEncodeError: 'ascii' 编解码器无法对位置 78 中的字符 u'\xf1' 进行编码:序号不在范围内(128),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42966995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com