【发布时间】:2014-08-06 00:16:15
【问题描述】:
我有一个用不同数据点用制表符分隔的文件:
"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'}]
【问题讨论】:
-
引号(
"字符本身)如何出现在带引号的字符串中?他们逃脱了吗?有吗? -
使用
split('\t')我得到'"ID"'或'"Value"'之类的东西。 -
多行是换行还是换行造成的?
-
你试过csv模块吗?
-
大概数据中的每个换行符前面都应该有一个双引号?是的?我不做 python,但我会考虑使用正则表达式来查找 "\r.