是否有Python包来解析带有节的可读数据文件

时间:2010-09-13 15:10:21

标签: python parsing csv

我正在寻找一种方法来解析带有部分的可读(即非二进制)数据文件。

我一直在使用ConfigObj来读取配置文件(INI文件?),但我遇到了多行列表的问题。具体来说,ConfigObj不允许列表成员包含回车符。换句话说,以下内容无法解析:

[section]
data = [(1, 0.1),
        (2, 0.2),
        (3, 0.3)]

删除回车符修复了问题

[section]
data = [(1, 0.1), (2, 0.2), (3, 0.3)]

显然,我可以使用这个简单的修复,但是当数据超出一行时,可读性会受到很大影响。是否有可以在这里工作的备用配置文件解析器?

或者,是否有包含部分的csv文件的解析器?例如,可以解析的东西

[data1]
1, 0.1
2, 0.2
3, 0.3

[data2]
1, 0.1
2, 0.2
3, 0.3

我考虑过JSON文件,但我对数据文件的外观不太满意。

注意:1,2,3列仅用于说明:我不打算保存行号。

3 个答案:

答案 0 :(得分:3)

看看YAML文件。有一个名为pyyaml的Python模块可以读取它们。我发现YAML非常易读。

答案 1 :(得分:2)

ConfigParser是另一个标准的库模块,可以让你读取这样的文件:

[section]
data = 
     row1, 1, 2
     row2, 2, 3
     row3, 3, 4

答案 2 :(得分:0)

如果不是json,那么也许是YAML? http://pyyaml.org/