提问人:NoobDev 提问时间:11/29/2021 最后编辑:wovanoNoobDev 更新时间:11/29/2021 访问量:480
Python 在读取 CSV 文件时添加额外的文本和大括号
Python adding extra text and braces while reading from CSV file
问:
我想使用 python 从 csv 文件中读取数据,但在使用以下代码后,文本中有一些额外的字符和大括号,这些字符和大括号不在原始数据中。 请帮助删除它。
import csv
with open("data.csv",encoding="utf8") as csvDataFile:
csvReader = csv.reader(csvDataFile)
for row in csvReader:
print(row)
阅读后显示的是:- ['\ufeffwww.aslteramo.it']
答:
0赞
wovano
11/29/2021
#1
\ufeff
是 UTF-8 BOM(也称为“ZERO WIDTH NO-BREAK SPACE”字符)。
它有时用于指示文件是 UTF-8 格式。
您可以在代码中使用它来摆脱它。喜欢这个:str.replace('\ufeff', '')
import csv
with open("data.csv",encoding="utf8") as csvDataFile:
csvReader = csv.reader(csvDataFile)
for row in csvReader:
print([col.replace('\ufeff', '') for col in row])
另一种解决方案是使用“utf-8-sig”编码而不是“utf-8”编码打开文件。
顺便说一句,大括号是添加的,因为是一个列表。如果您的 CSV 文件只有一列,您可以从每行中选择第一项,如下所示:row
print(row[0].replace('\ufeff', ''))
1赞
HPringles
11/29/2021
#2
这是带有字节顺序标记 (BOM) 的 utf-8 编码 - 在 Windows 中用作签名。
使用编码而不是utf-8-sig
utf8
评论