python - 奇怪的 JSON 到 CSV 的转换

标签 python json csv ubuntu

我有大约 700 MB 的数据,格式如下:

{"hash":"b2f405b1589efd8b013869d1d5e605367643db20844572ea7bf788f8575c38d6","block_timestamp":"2020-05-08 13:21:33 UTC","addresses":["3E17PiWGJqP8945KRZHuPdsFSU59othGEQ"]}
{"hash":"6609073b5979d768933f2ea7d4f1723d07c03a3e08f48adff21b9f1d79cee164","block_timestamp":"2020-05-08 13:39:39 UTC","addresses":["3CfewsC7Xjp2oJSBT2zUQkYSXfzo2nuGha"]}
{"hash":"5c7d95f903ea505d9ab82d1090944780c00e91d343ae66e94610bff1d614f90f","block_timestamp":"2020-04-05 23:19:30 UTC","addresses":["1ztVt2xwNwgzH3W9SJ2nMgPMuZpUg8m5w"]}
{"hash":"7eb120e9b50dbc25f13415b3c899efe2cfaf870a7f49995aa6e3b672a1992e56","block_timestamp":"2020-04-08 05:41:51 UTC","addresses":["1HckjUpRGcrrRAtFaaCAUaGjsPx9oYmLaZ"]}
{"hash":"be202b37aa218461827138ff32e3dfa74945808f3ecb574fb5287e99c8ae6a33","block_timestamp":"2020-04-04 09:53:28 UTC","addresses":["3Jk8HaC8Sjq6Ufig9NkWFoFcfzC5a3CNyL"]}

目前我已将这些数据保存为 JSON 文件格式。我想将其转换为 csv。通过常见的 python 和 BASH 方法执行此操作不会给我正确的结果。(请注意,两行之间没有逗号,它只是一个换行符)

我希望它位于带有标题的 CSV 中:哈希、block_timestamp 和地址。我该怎么做?

最佳答案

最简单的方法是在一行 bash 中做到这一点。例如,如果您的文件名为 tt , 赶紧跑:

cat tt | sed -e "s/:/,/g" | awk -F"," '{print $2 "," $4 "," $6}'

或者,如果您真的想在 Python 中执行此操作,请逐行读取文件,使用 json.loads解析每一行,然后以 CSV 格式打印该行(这是 ranka47 在他/她的回答中所做的)。问题 - 大文件的速度要慢得多。

关于python - 奇怪的 JSON 到 CSV 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61698729/

相关文章:

当计数高于阈值时,Python 计算字典理解中的元素

python - Python 中的用户输入不使用回车键?

python - 将生产中的所有 python 包升级到最新版本是一个好习惯吗?

javascript - JS : add a variable as a property (. ) 与 (+)

javascript - 使用 .$each 访问 Json 中的嵌套数组

c# - 在导入 SQL Server 之前验证 CSV 文件

python - 我试图向我的基于 pygame 的游戏添加简单的碰撞,但它不起作用

json - 如何在 postman 的帖子正文中有多行?

php - 如何拆分行并以大 .CSV 文件导入数据库

python - 打开 ZIP 文件,扫描其中的 CSV 文件并将某些内容传输到另一个 CSV 文件