Существует ли синтаксический анализатор/путь, доступный синтаксическому анализатору файлы дампа Википедии с помощью Python?

То, что происходит, заключается в том, что ваш цикл for выполняет итерацию по ключам словаря json, поэтому вы звоните writer.writerow('drivers'). Поскольку строки в Python являются итеративными, writer.writerow интерпретирует каждый символ в драйверах столбец в строке.

Лучший способ справиться с этим - вместо использования объекта csv.writer использовать объект csv.DictWriter ( Docs ). Ваш код будет выглядеть примерно так:

with open('driver.csv','w') as csv_f:
     drivers = json.loads(infile.read())['drivers']
     fields = list(drivers[0].keys())

     dict_writer = csv.DictWriter(csv_f, fieldnames=fields)

     dict_writer.writeheader()
     for driver in drivers:
          dict_writer.writerow(driver)

6
задан Widor 17 April 2012 в 11:57
поделиться

3 ответа

Я не знаю о лицензировании, но это реализовано в Python и включает источник.

1
ответ дан 17 December 2019 в 04:52
поделиться

Существует пример кода для того же по http://jjinux.blogspot.com/2009/01/python-parsing-wikipedia-dumps-using.html

3
ответ дан 17 December 2019 в 04:52
поделиться

Еще один хороший модуль - mwlib из здесь - его сложно установить со всеми зависимостями (по крайней мере, в Windows), но он хорошо работает .

1
ответ дан 17 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: