繁体   English   中英

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)

原始数据截图

阅读后显示的是:- ['\www.aslteramo.it']

\是一个 UTF-8 BOM(也称为“零宽度无\空间”字符)。

它有时用于表示文件是 UTF-8 格式。

您可以在代码中使用str.replace('\', '')来摆脱它。 像这样:

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”编码打开文件。

顺便说一下,大括号是添加的,因为row是一个列表。 如果您的 CSV 文件只有一列,您可以从每一行中选择第一项,如下所示:

print(row[0].replace('\ufeff', ''))

这是带有字节顺序标记 (BOM) 的 utf-8 编码 - 在 Windows 中用作签名。

使用utf-8-sig编码而不是utf8打开文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM