如何使用 Python 从 CSV 指定多个文本分隔符



我是Python的新手,我需要帮助使用Python编程语言解析以下CSV文件。我有 csv 文件案例.csv

~`Value~`,~`CaseId~`
~`the,data ~ has all `characters~`,~`1~`
~`and~`,~`2~

我使用以下 Python 代码来解析它。 但是,quotechar 只允许一个字符,但我的文件有 2 个字符的文本限定符~'

import csv
with open("C:CSVFilesWORDS.csv","rt") as f:
csv_reader=csv.reader(f,delimiter=',',quotechar="~")
for line in csv_reader:
print(line)

当我尝试在引号中使用多个字符传递时,出现以下错误。

File "C:/PycharmProjects/Nv/CSV", line 4, in <module>
csv_reader=csv.reader(f,delimiter=',',quotechar="~`")
TypeError: "quotechar" must be a 1-character string

请向我建议如何在 Python 中解析多文本限定符 CSV。

读取文件后尝试剥离字符

import csv
with open("C:CSVFilesWORDS.csv","rt") as f:
csv_reader=csv.reader(f, delimiter=',')
for line in csv_reader:
line = [x.strip('`~')) for x in line]

不确定这是否是您正在寻找的答案。我也是新手,但我所做的只是将您的"~"替换为每行的正常引号,然后按照您的意图进行操作。

f = open("C:CSVFilesWORDS.csv", "rb")
fo = open("C:CSVFilesWORDS2.csv", "wb")
for line in f:
fo.write(line.replace("~`", """))
f.close()
fo.close()
with open("C:CSVFilesWORDS2.csv","rt") as f:
csv_reader=csv.reader(f,delimiter=',',quotechar=""")
for line in csv_reader:
print(line)

干杯:)

最新更新