gpt4 book ai didi

python - 如何在解析 Json 文件中的数据时仅获取 Python 脚本中所需的列

转载 作者:太空宇宙 更新时间:2023-11-03 20:55:19 27 4
gpt4 key购买 nike

我正在尝试编写一个Python脚本。根据要求,我有大约 400 列,这些列将来自 JSON 文件中的多个数组。

我正在使用 Pandas 库和 python 版本 3.6。我可能会从 JSON 文件中获取超过 400 列的列。我如何限制不需要的列,并且我只想在 python 输出文件中获取指定的列。

我使用下面的代码来获取指定列的数据。

问题:在我的输出文件中,除了列列表文件中提到的列之外,我还获得了其余的列。如何限制不需要的列并在输出中仅获取所需的列?

with open('Columns.txt') as c:
columns_list = c.readlines()
with open('JsonFile.json') as f:
json_file = json.load(f)

df = pd.DataFrame(columns=columns_list)

我还有一个场景..目前我的数据如下示例数据。

70%的情况下我有[属性][ABC][值][值]之类的数据,在其余情况下我有[属性][Xdfghgjgjgj][grp](这里我里面有一些2条记录)。为了处理这些类型的场景多值属性,你可以帮我提供一些解决方案

{
"entities": [
{
"id": "XXXXXXXXXXXXXXX",
"data": {
"attributes": {
"ABC": {
"values": [
{
"value": 00000000000000
}
]
}
"Xdfghgjgjgj": {
"grp": [
{
"SUPP": {
"values": [
{
"value": "000000000000000000"
}
]
},
"yfyfyfyfyfy": {
"values": [
{
"value": "909000090099090"
}
]
},
},
{
"SUPP": {
"values": [
{
"value": "000000000000000000"
}
]
},
"yfyfyfyfyfy": {
"values": [
{
"value": "909000090099090"
}
]
},
}
]
}
}

最佳答案

有一种方法可以使用 pandas 从 csv 中读取特定列:

import pandas as pd
cols= ['col1', 'col2', 'col3']

df = pd.read_csv('JsonFile.csv', skipinitialspace=True, usecols=cols)

#save to output
df.to_csv('output.csv',Index=False)

或者您可以在保存文件时指定列:

df = pd.read_csv('JsonFile.csv')
df[column_names].to_csv('output.csv',index=False)

编辑:

with open('Columns.txt') as c:
columns_list = c.readlines()
with open('JsonFile.json') as f:
json_file = json.load(f)

#df = pd.DataFrame.from_dict(json_file, orient='columns')
df = pd.DataFrame(json_file)
df[columns_list].to_csv('output.csv',index=False)

关于python - 如何在解析 Json 文件中的数据时仅获取 Python 脚本中所需的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56060841/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com