当标题不在文件的开头时,是否可以使用ConfigParser?

时间:2015-10-10 12:14:39

标签: python dictionary collections configparser

我必须打开一个具有这种结构的文件

urllib.request

然后第一行是表格字段的名称;

从第二行到表格的不确定行数据;

然后一行为空;

最后是与信息不同的标题。

问题是要读取文件,在循环中读取第一行并创建一个包含pandas的表。

然后从循环中退出并使用默认值创建字典,因为信息与部分不同,我希望最后有一个字符,每个键具有相同数量的值。如果该部分中的值不存在,请添加'或0。

ConfigParser似乎是创建具有默认值的字典的最佳解决方案,但问题在于开头的信息。它不是标题,然后给出错误。

任何想法?

由于

1 个答案:

答案 0 :(得分:1)

Configparser可以使用.readfp()方法:

import ConfigParser

with open('cfgdata.ini', 'rb') as fp:
    while fp.readline().strip() != "":   # skip all initial lines (or pass them to Pandas..)
        pass

    p = ConfigParser.ConfigParser()
    p.readfp(fp)
    print p.sections()
    print p.has_section('header')

唯一的问题是while循环需要使用fp.readline(),因为这是ConfigParser在内部使用的内容。