python – 如何解析可能具有多行值的制表符分隔文件?

我有一个文件,用不同的数据点分隔:

"ID"    "Value"
"1" "This is a value"

通过简单地使用内置的str函数split,我可以轻松地从中提取数据.但有时候我遇到这个问题:

"ID"    "Value"
"1" "This is a value"
"2" "This is another
value"
"3" "Just one more"

第二个值跨越多行的位置.如何捕获每个数据点的完整性?

最终我想要的是一个字典列表,如下所示:

[{'ID':'1', 'Value':'This is a value'}, {'ID':'2', 'Value':'This is another\nvalue'}, {'ID':'3', 'Value':'Just one more'}]

最佳答案

import csv
r=csv.reader(open("a.tsv"), delimiter="\t", quotechar='"')
print r.next()

这是一个可运行的例子http://codebunk.com/b/4095452/

点赞