Как конвертировать JSON в CSV с помощью Pandas / python3? - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь преобразовать JSON-файл в CSV-файл. Я проверил большинство поставленных решений в итеративных блогах и здесь в stackoverflow. Но то, что я попробовал, не сработало ...

Я собираю запросы и заголовки ответов с разных веб-сайтов и использую json для сохранения входящих данных.

Для анализаВ этих целях я хотел бы преобразовать эти данные в csv или excel, опционально в SQLite.

Сбор данных в этом случае означает, что заголовки неизвестны и со временем могут меняться.

Iпопробовал некоторые с пандами, но безуспешно.

Мои данные Json выглядят так:

[
    {
        "request_headers": {
            "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.71 Safari/537.36",
            "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
            "Connection": "keep-alive",
            "Upgrade-Insecure-Requests": "1",
            "Cookie": "NID=189=rWuM7h_22U5ed7lJX9ewHyxOHJbRB0pgrlemwaGWLZtxDxweyi6e97D6kJ8ONYTz7OwtTl7SWj7qKED8Sspu7VfOnm9uZztJenCp68GjWIsMqOXrueIByIFgi-sLWjzLoDr7UnR1svQFa9tgHPDguKxVoV9-5uRpJsWQIJ30iZs; 1P_JAR=2019-10-13-16; CONSENT=WP.27f3c1",
            "DNT": "1",
            "Accept-Encoding": "gzip, deflate",
            "Accept-Language": "it-IT,de;q=0.9,en-US;q=0.8,en;q=0.7"
        },
        "status_code": 200,
        "url": "https://www.google.com/?gws_rd=ssl",
        "headers": {
            "Set-Cookie": "1P_JAR=2019-10-13-16; expires=Tue, 12-Nov-2019 16:11:15 GMT; path=/; domain=.google.com; SameSite=none, NID=189=K1LFDX7rwYGGQ74fbrLC7oPToRGnrEjLM-oFj2m5p4uYbHtKlmEaDmBW0qb7PZeYOXq7SFvdYlUCmqZmAU2Rrd1rMPqN2uKs0Iid30HiVFJKReQl8Dkjpm9iAgHjgbxgb0ouEQKo6dSCNSbLOyQTMnRLBqhvSavOsOT4DtmeCrs; expires=Mon, 13-Apr-2020 16:11:15 GMT; path=/; domain=.google.com; HttpOnly",
            "Transfer-Encoding": "chunked",
            "Content-Type": "text/html; charset=UTF-8",
            "P3P": "CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"",
            "Server": "gws",
            "X-Frame-Options": "SAMEORIGIN",
            "Strict-Transport-Security": "max-age=31536000",
            "Alt-Svc": "quic=\":443\"; ma=2592000; v=\"46,43\",h3-Q048=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000",
            "Date": "Sun, 13 SEP 2018 16:11:15 GMT",
            "X-XSS-Protection": "0",
            "Expires": "-1",
            "Content-Encoding": "gzip",
            "Cache-Control": "private, max-age=0"
        }
    },

Я хотел бы получить конвертер, который читает любой файл JSON. Ключи в первую очередь считаются заголовками для каждого столбца (например, User-Agent, Transfer-Encoding, Cache-Control, Date aso), и заданные значения должны находиться в соответствующем столбце / строке.

так что у вас есть User-Agent |Дата |URL |код состояния Firefox |Солнце, ... |www.google.com |200 Chrome |Сб, ... |www.google.com |301 Edge |Мы б,... . .

Заранее спасибо!

PS: Если вам известна какая-либо ссылка, которая помогает мне найти правильное решение, я тоже рад.

1 Ответ

0 голосов
/ 17 октября 2019

Это мое решение на данный момент:

import pandas as pd
df = pd.read_json('file.json')
df.to_csv('file.csv')
...