【发布时间】:2019-09-10 15:03:30
【问题描述】:
我有一个带有逗号分隔字段的 .csv 文件。我从第 3 方收到此文件,内容无法更改。我需要将文件导入数据库,但某些“逗号”分隔字段中有逗号。逗号分隔的字段也是固定长度的 - 当我按照函数 insert_line_csv 中的以下行直接打印字段时,它们以固定长度间隔。
我需要一种有效的方法来收集可以在字段中包含逗号的字段。我希望将这两种方法结合起来。不确定这是否有效。
我正在使用 python 3 - 愿意使用任何库来使工作变得高效和简单。
目前我有以下:
with open(FileName, 'r') as f:
for count, line in enumerate(f):
insert_line_csv(count, line)
insert_line_csv 函数看起来像:
def insert_line_csv(line_no, line):
line = line.split(",")
field0 = line[0]
field1 = line[1]
......
我正在导入 line_no,因为它也正在输入到数据库中。
任何见解将不胜感激。
样本数据集:
text ,2000.00 ,2018-07-07,textwithoutcomma ,text ,1
text ,3000.00 ,2018-07-08,textwith,comma ,text ,7
text ,1000.00 ,2018-07-07,textwithoutcomma ,text ,4
【问题讨论】:
-
数据样本在这里会有所帮助......
-
从你的解释看来它是固定宽度的,没有逗号分隔的文件
-
提供了一个样本数据集。似乎这可以通过专门在场宽方向上解决。意识到这将是一件痛苦的事情。