Я ищу метод для разбора читаемых (т.е. не двоичных) файлов данных с разделами.
Я использовал 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 просто для иллюстрации: я не намерен сохранять номера строк.
Взгляните на файлы YAML. Для чтения есть модуль Python, называемый pyyaml. Я считаю, что YAML довольно читабельна.
ConfigParser
- это еще один стандартный библиотечный модуль, который должен позволить вам читать такие файлы:
[section]
data =
row1, 1, 2
row2, 2, 3
row3, 3, 4
Если не json, то, возможно, YAML? http://pyyaml.org/