如何将JSON列表转换为CSV文件中的两个不同列?

切纳德:

这是我在这个引人入胜的网站上的第一个问题,我需要知道如何将复杂信息从JSON导出到CSV。问题是我需要从该列中的列表中获得两个不同的值。

我尝试了很多不同的组合,但不能,因此我的最后一个资源被问到了社区。我的代码是这样的:

def output(alerts):
        output = list()
        for alert in alerts:
            applications = alerts['applications']
            for app in applications:
                categories = app['categories']
                for cat in categories:
                    output_alert = [list(cat.items())[0], app['confidence'], app['icon'],
                                    app['name'], app['version'], app['website'], alerts['language'], alerts['status']]
                    output.append(output_alert)

        df = pd.DataFrame(output, columns=['Categories', 'Confidence', 'Icon', 'Name', 'Version', 'Website',
                                           'Language', 'Status'])
        df.to_csv(args.output)
        print('Scan completed, you already have your new CSV file')
        return

在此处输入图片说明

我在B列中留下了问题的CSV文件图片(我在那里有一个列表),但实际上我需要两列,每个值...

我附加了来自REST API的JSON响应

{'applications': [{'categories': [{'59': 'JavaScript libraries'}],
               'confidence': '100',
               'icon': 'Lo-dash.png',
               'name': 'Lodash',
               'version': '4.17.15',
               'website': 'http://www.lodash.com'},
              {'categories': [{'12': 'JavaScript frameworks'}],
               'confidence': '100',
               'icon': 'RequireJS.png',
               'name': 'RequireJS',
               'version': '2.3.6',
               'website': 'http://requirejs.org'},
              {'categories': [{'13': 'Issue trackers'}],
               'confidence': '100',
               'icon': 'Sentry.svg',
               'name': 'Sentry',
               'version': '4.6.2',
               'website': 'https://sentry.io/'},
              {'categories': [{'1': 'CMS'},
                              {'6': 'Ecommerce'},
                              {'11': 'Blogs'}],
               'confidence': '100',
               'icon': 'Wix.png',
               'name': 'Wix',
               'version': None,
               'website': 'https://www.wix.com'},
              {'categories': [{'59': 'JavaScript libraries'}],
               'confidence': '100',
               'icon': 'Zepto.png',
               'name': 'Zepto',
               'version': None,
               'website': 'http://zeptojs.com'},
              {'categories': [{'19': 'Miscellaneous'}],
               'confidence': '100',
               'icon': 'webpack.svg',
               'name': 'webpack',
               'version': None,
               'website': 'https://webpack.js.org/'},
              {'categories': [{'12': 'JavaScript frameworks'}],
               'confidence': '0',
               'icon': 'React.png',
               'name': 'React',
               'version': None,
               'website': 'https://reactjs.org'}],  'language': 'es',  'status': 'success'}

[{'59':'JavaScript库'}]这最后一件事是我的大问题!感谢您的时间和帮助!

Samhita Alla:

您可以尝试list(cat.keys())[0], list(cat.values())[0]output_alert变量中使用分别提取键和值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将两个列表写到CSV的一行的两列中?

如何将csv文件的列值转换为熊猫中的不同格式结构?

如何将单词及其频率写到CSV文件的两个单独的列中

如何将一个包含JSON值的CSV列转换为4个不同的列?

如何将.txt中的两个值分隔为两个不同的文件?

使用Pandas将两个不同的数据帧转换为一个json文件

如何将两个文件的git差异转换为新文件?

使用两个列表写入 csvFile。我如何将每个列表写入两个不同的列

如何将两个坐标列转换为Shapely点的列

MySQL如何将两个JOINed表的SUM()列转换为新列?

如何将两个列表转换为一个数据列表,将一个列表转换为一个数据框?

如何将具有不同元素数量的多个列表转换为 csv 文件

哈斯克尔 | 如何将 CSV 文件中的数字列表转换为包含列表的列表

将两个列表中存在的字典转换为csv

csvkit in2csv-如何将单个json对象转换为两列csv

如何将两个数据库表转换为多维JSON文件?

如何将两个DataFrame列转换为汇总系列?

如何将csv文件中的列表列表转换为numpy数组

如何将CSV文件转换为python中的列表列表

如何将Double中的秒转换为秒和毫秒的两个int?

如何将 csv 文件转换为 json 格式的文件?

如何使用不同的两个csv文件将两列相乘并使用熊猫在第一个csv文件中返回结果

如何将两个不同的python列表中的两项列为新列表中的一项?

如何将包含两个 numpy 数组的 python 列表转换为一个 numpy 数组?

如何将代码推送到两个不同的文件夹中?

如何将PowerPoint中的两个不同的幻灯片导出为PDF文件?

如何将三个列表转换为json?

如何将json文件转换为列表

如何将CSV文件转换为python中的字典列表