json - 如何使用 Pandas/python3 将 json 转换为 csv?
问题描述
我尝试将 JSON 文件转换为 csv 文件。我已经在迭代博客和 stackoverflow 上检查了大多数交付的解决方案。但是我尝试过的事情并没有成功......
我正在收集来自不同网站的请求和响应标头,并且我正在使用“json”来保存传入的数据。
出于分析目的,我想将这些数据转换为 csv 或 excel,可选 SQLite。
在这种情况下收集数据意味着标题是未知的,并且可能会随着时间而改变。
我尝试了一些熊猫,但没有任何成功。
我的 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 文件。首先的键被认为是每一列的标题(例如,用户代理、传输编码、缓存控制、日期等),并且给定的值应该在相应的列/行内。
所以你有用户代理| 日期 | 网址 | 状态码火狐 | 太阳,... | www.google.com | 200 铬 | 周六,... | www.google.com | 301 边缘 | 星期三,... 。.
提前致谢!
PS:如果您知道任何可以帮助我找到适当解决方案的链接,我也很高兴。
解决方案
This is my solution for now:
import pandas as pd
df = pd.read_json('file.json')
df.to_csv('file.csv')
推荐阅读
- node.js - Firestore 函数 listCollections() 仅返回空数组
- javascript - 如何删除 Quill.js 工具栏边框?
- html - 如何将 A3 html 文档分成两个 A4
- java - 如果对象类型来自已编译的 .class 文件,如何避免在 Set 中存储重复项?
- kotlin - 如何处理泛型类中的可为空类型
- arrays - 重新编号数组中的结构属性
- swift - Swift UI:iOS 所需的代码崩溃 MacOS 构建
- javascript - Rspec 在 Github 操作上的 Javascript 测试 headless chrome 失败
- css - 如何将css列变成primeng?
- python - Pyspark 错误 self._sock.recv_into(b) socket.timeout: timed out