gpt4 book ai didi

JSON 和 CSV 的 Python 编码问题

转载 作者:太空宇宙 更新时间:2023-11-03 16:20:36 25 4
gpt4 key购买 nike

当我运行下面的脚本时遇到编码问题:这是错误代码:-UnicodeEncodeError:“ascii”编解码器无法对位置 9 中的字符 u'\xe9' 进行编码:序号不在范围内(128)

这是我的脚本:

import logging
import urllib
import csv
import json
import io
import codecs

with open('/home/local/apple.csv',
'rb') as csvinput:
reader = csv.reader(csvinput, delimiter=',')
firstline = True
for row in reader:
if firstline:
firstline = False
continue

address1 = row[0]
print row[0]
locality = row[1]
admin_area = row[2]
query = ' '.join(str(x) for x in (address1, locality, admin_area))
normalized = query.replace(" ", "+")
BaseURL = 'http://localhost:8080/verify?country=JP&freeform='
URL = BaseURL + normalized
print URL
data = urllib.urlopen(URL)
response = data.getcode()
print response

if response == 200:
file= json.load(data)
print file
output_f=open('output.csv','wb')
csvwriter=csv.writer(output_f)
count = 0
for f in file:
if count == 0:
header= f.keys()
csvwriter.writerow(header)
count += 1
csvwriter.writerow(f.values())
output_f.close()
else:
print 'error'

谁能帮我解决这个问题,这真的很烦人。我需要编码为utf8

最佳答案

看起来您使用的是Python 2.x,而不是Python的标准open,而是使用codecs.open,您可以选择传递要使用的编码以及出现错误时要执行的操作。在 Python 3 中不再那么困惑,标准 Python open 可以做到这一点。

因此,在您要打开的两行中,执行以下操作:

with codecs.open('/home/local/apple.csv',
'rb', 'utf-8') as csvinput:

output_f = codecs.open('output.csv','wb', 'utf-8')

可选的错误参数默认为“strict”,如果字节无法映射到给定的编码,则会引发异常。在某些情况下,您可能需要使用“忽略”或“替换”。

参见the python doc了解更多信息。

关于JSON 和 CSV 的 Python 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38515447/

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