首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫-在数据栏中添加项目

熊猫-在数据栏中添加项目
EN

Stack Overflow用户
提问于 2022-01-23 11:03:54
回答 2查看 214关注 0票数 1

我试图向dataframe添加行项,但无法更新dataframe。到目前为止,我尝试过的东西都被注释掉了,因为它不能满足我的需要。

我只想下载json文件并将其存储到带有给定列的dataframe中。似乎我无法提取子组件fron文件并将它们存储到一个全新的dataframe中。

请找到我的密码:

代码语言:javascript
复制
import requests, json, urllib
import pandas as pd
url = "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json"

data = pd.read_json(url)
headers = []
df = pd.DataFrame()
for key, item in data['vulnerabilities'].items():
    for k in item.keys():
        headers.append(k)
col = list(set(headers))
        
new_df = pd.DataFrame(columns=col)


for item in data['vulnerabilities'].items():
    print(item[1])
#     new_df['product'] = item[1]['product']
#     new_df['vendorProject'] = item[1]['vendorProject']
#     new_df['dueDate'] = item[1]['dueDate']
#     new_df['shortDescription'] = item[1]['shortDescription']
#     new_df['dateAdded'] = item[1]['dateAdded']
#     new_df['vulnerabilityName'] = item[1]['vulnerabilityName']
#     new_df['cveID'] = item[1]['cveID']
#     new_df.append(item[1], ignore_index = True)

new_df

最后,我的df仍然是空白的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-23 11:12:20

可以使用pd.json_normalize()直接将嵌套的JSON数据转换为扁平的数据。标题是从JSON本身提取的。

代码语言:javascript
复制
new_df = pd.DataFrame(pd.json_normalize(data['vulnerabilities']))

更新:专门取消了vulnerabilities列的嵌套。

输出:

票数 0
EN

Stack Overflow用户

发布于 2022-01-23 11:14:27

它在这方面发挥了作用:

代码语言:javascript
复制
import requests, json, urllib
import pandas as pd
url = "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json"

data = pd.read_json(url)
headers = []
df = pd.DataFrame()
for key, item in data['vulnerabilities'].items():
    for k in item.keys():
        headers.append(k)
col = list(set(headers))
        
new_df = pd.DataFrame(columns=col)


for item in data['vulnerabilities'].items():

    new_df.loc[len(new_df.index)] = item[1] <===THIS


new_df.head()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70821382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档