开发者

Is there a Python package to parse readable data files with sections

I am looking for a method to parse readable (i.e., not binary) data files with sections.

I had been using ConfigObj to read config files (INI files?), but I ran into a problem with multi-line lists. Specifically, ConfigObj does not allow list members to contain carriage returns. In other words, the following fails to parse:

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

Removing the carriage returns fixes the problem

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

Obviously, I could just use this simple fi开发者_如何学JAVAx, but the readability suffers significantly when the data extends beyond a single line. Is there an alternate config-file parser that would work here?

Alternatively, are there parsers for csv files with sections? For example, something that could parse

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

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

I considered JSON files but I wasn't quite happy with the look of the data files.

NOTE: the 1, 2, 3 columns are just for illustration: it is not my intent to save row numbers.


Take at look at YAML files. There is a Python module called pyyaml to read those. I find YAML to be pretty readable.


ConfigParser is another standard library module that should let you read files like this:

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


If not json, then maybe YAML? http://pyyaml.org/

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜