【发布时间】:2021-11-30 17:23:15
【问题描述】:
我正在尝试加载以下 test.csv 文件:
R1C1 R1C2 R1C3
R2C1 R2C2 R2C3
R3C1 "R3C2 R3C3
R4C1 R4C2 R4C3
...使用这个 Python 脚本:
import csv
with open("test.csv") as f:
for row in csv.reader(f, delimiter='\t'):
print(row)
我得到的结果如下:
['R1C1', 'R1C2', 'R1C3']
['R2C1', 'R2C2', 'R2C3']
['R3C1', 'R3C2\tR3C3\nR4C1\tR4C2\tR4C3\n']
原来当Python找到首字符为引号且没有右引号的字段时,会将以下所有内容作为同一个字段的一部分。
我的问题:正确读取文件中所有行的最佳方法是什么?请考虑我使用的是 Python 3.8.5,脚本应该能够读取大文件(2gb 或更多),因此还应考虑内存使用和性能问题。
谢谢!
【问题讨论】: