我有一个列表,在Python中引用不一致,我试图消除它们。如果csv文件中每行只有一组双引号,则下面的内容工作正常,但如果有多个集合(例如第四行(标题后面的第三行数据)
我尝试了许多不同的方法,但我似乎总是错误地将这些元素组合在一起。
示例csv:
First,Nickname,Last,Sport
Bill,Bats,Smith,Baseball
Tom,Kicks,Johnson,Soccer
"John,"Footy",Jacobsen,Football"
Mike,"Mikey",Jones,Basketball
我的代码:
import csv
with open('fake.csv', mode='r', encoding = 'utf-8') as infile:
reader = csv.reader(infile)
for line in reader:
if len(line) <4:
for i in range(0,len(line)):
line[i].strip('"')
line[i].replace('"', '')
print(line)
print(line[0] + line[2])
期望的输出:
['First', 'Nickname', 'Last', 'Sport']
FirstLast
['Bill', 'Bats', 'Smith', 'Baseball']
BillSmith
['Tom', 'Kicks', 'Johnson', 'Soccer']
TomJohnson
['John','Footy', 'Jacobsen', 'Football']
JohnJacobsen
['Mike', 'Mikey', 'Jones', 'Basketball']
MikeJones
我的输出:
['First', 'Nickname', 'Last', 'Sport']
FirstLast
['Bill', 'Bats', 'Smith', 'Baseball']
BillSmith
['Tom', 'Kicks', 'Johnson', 'Soccer']
TomJohnson
['John,Footy"', 'Jacobsen', 'Football"']
John,Footy"Football"
['Mike', 'Mikey', 'Jones', 'Basketball']
MikeJones
任何帮助将不胜感激
答案 0 :(得分:2)
读者会期望引号字符包含包含分隔符的条目,因此它按预期工作。如果您的输入包含不平衡或不准确的引用,如本例所示,一个选项是告诉读者不要特别处理引号:
cancel(true)
然后你必须自己处理报价,所以如果你的输入一直被引用,这不是最好的选择。