Я хотел бы создать csv из списка данных, но значения ключей различаются между разделами списка. Список имеет следующий макет:Как преобразовать INI-файл в CSV-файл
[Game 1]
Publisher=
Developer=
Released=Nov, 2005
Systems=
Genre=Action|Strategy
Perspective=3rd-Person Perspective
Score=4.5
Controls=
Players=
Rating=
Url=http://www.google.com.pl
Description=This cartridge contains six of the 1 kilobyte e......
[Game 2]
Publisher=Home Entertainment Suppliers Pty. Ltd.
Developer=Imagic
Released=1992
Systems=
Genre=Action
Perspective=3rd-Person Perspective
Score=1.5
Controls=Joystick (Digital)|Same/Split-Screen Multiplayer
Players=1-2 Players
Rating=
Url=http://www.google.com
Description=An unlicensed multi-cart from the Australian-bas.....
Goodname=2 Pak Special - Alien Force & Hoppy
NoIntro=
Tosec=2 Pak Special Light Green - Hoppy & Alien Force
Каждый набор данных отделенной [Game *] и представленные значения для каждой игры может быть пустым или не существует для некоторых игр, например Goodname =, NoIntro = и Tosec = отсутствуют в игре 1. Я не знаю, сколько всего ключей или столбцов требуется. В идеале я бы хотел, чтобы каждая игра была отдельной строкой в файле csv.
У кого-нибудь есть идеи о том, как получить этот формат данных в csv? Я в тупике. Я знаком с bash и python, но я открыт для любых предложений о том, как автоматизировать преобразование.
Заранее спасибо.
Я бы использовал python, было бы проще разобрать конфигурацию. Используйте [ConfigParser] (https://docs.python.org/2/library/configparser.html) для анализа вашего файла. Для каждого раздела создайте запись с помощью [CSV Module] (https://docs.python.org/2/library/csv.html) и оставьте значение пустым для несуществующих значений, 'Game 1 ,,, Nov, 2005 ", ...' – Ian2thedv
PHP также может сделать это с помощью '' parse_ini_file() '] (http://www.php.net//manual/en/function.parse-ini-file.php). – miken32