gpt4 book ai didi

python - 如何写入 CSV 而不出现 Unicode 错误?

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

我见过很多这个问题的例子,但还没有找到适合我的直接解决方案。我仍然收到错误:

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

这是我根据 stackoverflow 上提出的类似问题整理的代码。

f = open(out_filepath, 'w')
writer = csv.DictWriter(f, fieldnames, extrasaction='ignore')
headers = dict([(header, header) for header in fieldnames])
data = [headers]
data.extend([row for row in rows]) # add data rows
for row in data:
try:
writer.writerow(row)
except:
for value in row.itervalues():
for s in value:
try:
unicode(s).encode("utf-8")
except:
s = ''
writer.writerow(row)
f.close()

这是我正在尝试的更新后的代码,但仍然出现错误:

for row in data:
try:
writer.writerow(row)
except:
for key in row:
value = row[key]
letterlist = list(value)
for i in range(len(letterlist)):
try:
letterlist[i].decode('string_escape')
letterlist[i].encode('ascii', 'ignore')
except:
print 'Letter excluded from ' +key+' '+ str(letterlist)
letterlist[i] = ''
value = ''.join(letterlist)
row[key] = value
#print row
writer.writerow(row)

最佳答案

以下是对我有用的方法:

f = open('eg.csv', 'w')
s = 'some troublesome string'
f.write(s.decode('string_escape'))

如果这不起作用,我会这样做:

f.write(s.encode('ascii', 'ignore'))

关于python - 如何写入 CSV 而不出现 Unicode 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24024590/

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