python - 尝试在 YoutubeAnalytics Api 中使用 Pandas 解析 JSON 并将其转换为 CSV
问题描述
我正在尝试使用Google Reference中的Youtube Analytics and Reporting API下载我的 youtube 数据。我正在使用来自谷歌的 Python 代码来下载这个工作正常的数据。数据以 JSON 格式检索,如下图所示。
原始数据.json -
{
"kind": "youtubeAnalytics#resultTable",
"columnHeaders": [
{
"name": "day",
"columnType": "DIMENSION",
"dataType": "STRING"
},
{
"name": "views",
"columnType": "METRIC",
"dataType": "INTEGER"
},
{
"name": "estimatedMinutesWatched",
"columnType": "METRIC",
"dataType": "INTEGER"
},
{
"name": "averageViewDuration",
"columnType": "METRIC",
"dataType": "INTEGER"
},
{
"name": "averageViewPercentage",
"columnType": "METRIC",
"dataType": "FLOAT"
},
{
"name": "subscribersGained",
"columnType": "METRIC",
"dataType": "INTEGER"
}
],
"rows": [
[
"2020-10-01",
445,
1068,
144,
38.78,
3
],
[
"2020-10-02",
406,
905,
133,
34.94,
2
],
[
"2020-10-03",
466,
1042,
134,
34.77,
6
],
[
"2020-10-04",
427,
1006,
141,
36.48,
3
],
[
"2020-10-05",
379,
964,
152,
39.48,
2
]
]
}
我正在尝试将此 JSON 转换为 CSV 格式,但到目前为止还没有运气。
这是我用来规范化和创建数据框但没有运气的python代码。
import json
import pandas as pd
from pandas import json_normalize
with open('rawdata.json') as json_file:
data = json.load(json_file)
#print (data)
df = json_normalize(data['rows'])
print(df)
非常感谢任何帮助或指导。
编辑:Suraj S 的回答。这对我有用。
import json
import pandas as pd
from pandas import json_normalize
with open('rawdata.json') as json_file:
data = json.load(json_file)
#print (data)
df = pd.DataFrame(data['rows'],columns=['day','views','comments','likes','dislikes','estimatedMinutesWatched','averageViewDuration','subscribersGained'])
print(df)
解决方案
pd.DataFrame(json_file['rows'])
如果需要,您可以根据需要添加列名
pd.DataFrame(json_file['rows'],columns=[a,b,c,...])
推荐阅读
- java - 直接从 sql 文件和参数映射准备 SQL 语句
- android - Sugar ORM:java.lang.IllegalStateException:无法从 CursorWindow 读取行 0,col -1
- kubernetes - 无法从 Kubernetes 集群中的 heapster pod 获取指标
- c# - 在 XML 中删除流氓 & 符号的最佳方法是什么?
- javascript - 如何在 NestJS 中设置参数?
- elasticsearch - 用于索引数组元素的 Elasticsearch
- java - spring如何在不传递参数的情况下实例化@Autowired构造函数
- sql-server - 无法通过从备份还原创建具有新名称的数据库副本:“数据库正在使用中”
- angular - Firebase:云Firestore规则:权限被拒绝
- javascript - 将点击事件绑定到动态生成的内容(Angular 4)