0

我正在尝试使用 python 读取管道分隔的 csv 文件,read_csv()但它错误地检测到第一个字段中的双引号。我知道它与 csv 阅读器标志有关,但无法弄清楚。

代码

with open('Find_File.dat', 'r') as csvfile:
myfile=csv.reader(csvfile,escapechar=" ' ",quoting=csv.QUOTE_NONE,quotechar="'",doublequote=True)
for row in myfile:
     data.append(row)  
print(data[0]) 

预期输出

["TCC 记录标识符"|"用户名"|"应聘者 ID"|"经验"|"工作序列"|"当前 10"|"工资 10 的结束率"]

实际输出

['TCC 记录标识符|“用户名”|“候选人 ID”|“经验”|“工作序列”|“当前 10”|“工资 10 的结束率”']

4

1 回答 1

1

您的预期输出有点奇怪。您不想将行解析为列列表吗?此外,如果分隔符是管道,则未指定。

鉴于输入文件如下所示:

"TCC Record Identifier"|"UserName"|"Candidate ID"|"Experience"|"Job Sequence"|"Current 10"|"Ending Rate of Pay 10"

甚至:

TCC Record Identifier|UserName|Candidate ID|Experience|Job Sequence|Current 10|Ending Rate of Pay 10

默认csv.reader将通过简单地覆盖分隔符来解析上述任一输入:

import csv

with open('input.csv',newline='') as f:
    r = csv.reader(f,delimiter='|')
    for row in r:
        print(row)

输出:

['TCC Record Identifier', 'UserName', 'Candidate ID', 'Experience', 'Job Sequence', 'Current 10', 'Ending Rate of Pay 10']
于 2020-03-18T18:20:59.063 回答