Как преобразовать данные файла jason в файл csv в python

У меня есть файл .json, в котором есть данные такого типа, названия университетов мира

[
  {
    "web_pages": [
      "https://www.cstj.qc.ca",
      "https://ccmt.cstj.qc.ca",
      "https://ccml.cstj.qc.ca"
    ],
    "name": "Cégep de Saint-Jérôme",
    "alpha_two_code": "CA",
    "state-province": null,
    "domains": [
      "cstj.qc.ca"
    ],
    "country": "Canada"
  },
  {
    "web_pages": [
      "http://www.lindenwood.edu/"
    ],
    "name": "Lindenwood University",
    "alpha_two_code": "US",
    "state-province": null,
    "domains": [
      "lindenwood.edu"
    ],
    "country": "United States"
  },
  {
    "web_pages": [
.......
.....
....
...
Continue......

Я хочу преобразовать этот файл .json в CSV с помощью Python. Каким будет решение для создания файла CSV?

Прежде всего, я бы посоветовал вам попробовать проанализировать JSON с другой кодировкой — ваша текущая, похоже, генерирует всевозможные странные символы.

Luca Bezerra 06.03.2019 16:32

У вас есть Pandas или вы хотите сделать это только с ядром Python?

Supratim Haldar 06.03.2019 16:36

@SupratimHaldar Я использую простой IDL python 3.6, установите его, а затем я его использую.

itsme 06.03.2019 16:37

Хорошо. Я добавляю это как комментарий, а не как ответ, потому что это решение связано с Pandas. import json from pandas.io.json import json_normalize with open('infile.json') as json_data: d = json.load(json_data) df = json_normalize(d) df.to_csv('outfile.csv', index=False)

Supratim Haldar 06.03.2019 16:51

@SupratimHaldar Я установил панд, можешь дать мне ответ

itsme 06.03.2019 17:06

Добавил ответ ниже. Надеюсь, поможет.

Supratim Haldar 06.03.2019 17:18

@LucaBezerra Спасибо за выделение точки кодирования.

itsme 06.03.2019 17:25
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
7
73
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это решение использует Pandas.

import json
from pandas.io.json import json_normalize

with open('infile.json') as json_data:
    d = json.load(json_data)

df = json_normalize(d)
df.to_csv('outfile.csv', index=False)

Кроме того, как упомянул @LucaBezerra в комментариях, в текущем тексте есть проблема с кодировкой, которую вы, возможно, захотите исправить (посмотрите на первое «имя»).

Другие вопросы по теме