我有一个CSV文件,分隔符是;
,但是每一行都以分隔符结尾,如下所示:
A1;A2;A3;
B1;B2;B3;
C1;C2;C3;
因此,我的代码..
import csv
f = open('test.csv', 'r', newline='')
content = csv.DictReader(f, delimiter=';')
for element in content:
print(element)
f.close()
..认为每行有四个值,最后一个值为空。
这不是故意的我做错什么了吗
有没有比删除每一行的最后一个值更优雅的方法来处理这个问题?
1条答案
按热度按时间vsikbqxv1#
您的问题与this one类似但不相同。在this one中,数据被分散到一行中,并使用一个特殊字符作为换行符。您的问题不同,因为您有一个包含多行但具有额外分隔符的文件。
我找不到一个内置的方法来处理
csv
模块(尝试在open
中执行newline=';'
会引发错误),所以类似于链接问题中的the accepted answer,我们可以在将文件阅读为CSV之前操作文件的每一行: