python - json 输出和文件名需要附加在 excel/csv 中
问题描述
我在文件夹中有多个json
文件~/json-reports/
。文件格式之一如下。
文件名: 2728-daniel.json
[
{
"depotFile": "//ABND/JJEB/...",
"host": "*",
"isgroup": "",
"line": "16",
"perm": "open",
"user": "5G_USER_GROUP"
},
{
"depotFile": "//LIB/...",
"host": "*",
"isgroup": "",
"line": "19",
"perm": "write",
"user": "6G_USER_GROUP"
},
{
"depotFile": "//AND/RIO/...",
"host": "*",
"isgroup": "",
"line": "20",
"perm": "write",
"user": "AND_USER_GROUP"
},
excel [或] csv 中的预期输出如下
port
并且user-id
需要从filename
每个文件中挑选。请帮帮我。尝试了各种无济于事的事情,任何帮助将不胜感激。谢谢。
解决方案
from pathlib import Path
import pandas as pd
paths = Path("json-reports/").glob("*.json")
dfs = {tuple(p.stem.split("-")): pd.read_json(p) for p in paths}
df = pd.concat([df.assign(port=p, userid=u) for (p, u), df in dfs.items()], axis=0)
print(df)
depotFile host isgroup line perm user port userid
0 //ABND/JJEB/... * 16 open 5G_USER_GROUP 2728 daniel
1 //LIB/... * 19 write 6G_USER_GROUP 2728 daniel
2 //AND/RIO/... * 20 write AND_USER_GROUP 2728 daniel
要在 CSV 文件中获取此信息:
df.to_csv("consolidated-reports.csv")
推荐阅读
- python - 将作者隶属关系添加到 Microsoft Academic 评估 API 请求
- javascript - 使用 JavaScript 根据日期仅隐藏列表中的一项
- javascript - 我的反应应用程序仅在一个文件中呈现,而不是在导入到另一个文件时呈现
- odoo-14 - Odoo Studio:我无法将 m2o 字段中的域用于 hr.employee 字段
- python - 将新字符串添加到现有文本文件时遇到问题
- python - PySpark 中的空列表表示
- google-apps-script - Web 应用程序用户可以安排应用程序脚本触发器在给定时间发送电子邮件吗?
- css - 相对于单击的元素定位离子弹出箭头
- android - 声明 findViewById 'global'
- reactjs - 如何使用 react 和 typescript 将类型添加到 graphql 模式?