Есть ли пакет Python для разбора читаемых файлов данных с разделами - PullRequest
1 голос
/ 13 сентября 2010

Я ищу метод для анализа читаемых (т.е. не двоичных) файлов данных с разделами.

Я использовал 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 ]

3 голосов
/ 13 сентября 2010

Взгляните на файлы YAML.Существует модуль Python, называемый pyyaml, чтобы читать их.Я считаю, что YAML довольно читабелен.

2 голосов
/ 13 сентября 2010

ConfigParser - это еще один стандартный модуль библиотеки, который должен позволять вам читать файлы следующим образом:

[section]
data = 
     row1, 1, 2
     row2, 2, 3
     row3, 3, 4
0 голосов
/ 13 сентября 2010

Если не JSON, то, возможно, YAML?http://pyyaml.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...