如何将这个字典列表转换成字典?

2024-10-04 01:34:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将包含词典的列表转换为词典。 从这个列表中,我有兴趣去掉预测列,因为它包含另一个字典,并将预测转储到带有行和列的.csv中。你知道吗

此处为完整数据集:

[{'origen': {'productor': 'AGENCY', 'site': 'www.example.com', 'link': 'www.example.com, 'language': 'en', 'copyright': 'YES', 'law': 'Example'}, 'creation_date': '2018-12-06', 'Name': 'UK', 'city': 'londo', 'PREDICTION': {'dia': [{'probPrecipitacion': [{'value': 0, 'periodo': '00-24'}, {'value': 0, 'periodo': '00-12'}, {'value': 0, 'periodo': '12-24'}, {'value': 0, 'periodo': '00-06'}, {'value': 0, 'periodo': '06-12'}, {'value': 0, 'periodo': '12-18'}, {'value': 0, 'periodo': '18-24'}], 'cotaNieveProv': [{'value': '', 'periodo': '00-24'}, {'value': '', 'periodo': '00-12'}, {'value': '', 'periodo': '12-24'}, {'value': '', 'periodo': '00-06'}, {'value': '', 'periodo': '06-12'}, {'value': '', 'periodo': '12-18'}, {'value': '', 'periodo': '18-24'}], 'estadoCielo': [{'value': '', 'periodo': '00-24', 'descripcion': ''}, {'value': '', 'periodo': '00-12', 'descripcion': ''}, {'value': '11', 'periodo': '12-24', 'descripcion': 'Despejado'}, {'value': '', 'periodo': '00-06', 'descripcion': ''}, {'value': '11', 'periodo': '06-12', 'descripcion': 'Despejado'}, {'value': '11', 'periodo': '12-18', 'descripcion': 'Despejado'}, {'value': '11n', 'periodo': '18-24', 'descripcion': 'Despejado'}], 'viento': [{'direccion': '', 'velocidad': 0, 'periodo': '00-24'}, {'direccion': '', 'velocidad': 0, 'periodo': '00-12'}, {'direccion': 'C', 'velocidad': 0, 'periodo': '12-24'}, {'direccion': 'C', 'velocidad': 0, 'periodo': '00-06'}, {'direccion': 'C', 'velocidad': 0, 'periodo': '06-12'}, {'direccion': 'C', 'velocidad': 0, 'periodo': '12-18'}, {'direccion': 'NE', 'velocidad': 5, 'periodo': '18-24'}], 'rachaMax': [{'value': '', 'periodo': '00-24'}, {'value': '', 'periodo': '00-12'}, {'value': '', 'periodo': '12-24'}, {'value': '', 'periodo': '00-06'}, {'value': '', 'periodo': '06-12'}, {'value': '', 'periodo': '12-18'}, {'value': '', 'periodo': '18-24'}], 'temperatura': {'maxima': 14, 'minima': 4, 'dato': [{'value': 5, 'hora': 6}, {'value': 12, 'hora': 12}, {'value': 11, 'hora': 18}, {'value': 6, 'hora': 24}]}, 'sensTermica': {'maxima': 14, 'minima': 4, 'dato': [{'value': 5, 'hora': 6}, {'value': 12, 'hora': 12}, {'value': 11, 'hora': 18}, {'value': 6, 'hora': 24}]}, 'humedadRelativa': {'maxima': 95, 'minima': 60, 'dato': [{'value': 95, 'hora': 6}, {'value': 60, 'hora': 12}, {'value': 75, 'hora': 18}, {'value': 80, 'hora': 24}]}, 'uvMax': 2, 'fecha': '2018-12-06'}, {'probPrecipitacion': [{'value': 0, 'periodo': '00-24'}, {'value': 0, 'periodo': '00-12'}, {'value': 0, 'periodo': '12-24'}, {'value': 0, 'periodo': '00-06'}, {'value': 0, 'periodo': '06-12'}, {'value': 0, 'periodo': '12-18'}, {'value': 0, 'periodo': '18-24'}], 'cotaNieveProv': [{'value': '', 'periodo': '00-24'}, {'value': '', 'periodo': '00-12'}, {'value': '', 'periodo': '12-24'}, {'value': '', 'periodo': '00-06'}, {'value': '', 'periodo': '06-12'}, {'value': '', 'periodo': '12-18'}, {'value': '', 'periodo': '18-24'}], 'estadoCielo': [{'value': '11', 'periodo': '00-24', 'descripcion': 'Despejado'}, {'value': '11', 'periodo': '00-12', 'descripcion': 'Despejado'}, {'value': '11', 'periodo': '12-24', 'descripcion': 'Despejado'}, {'value': '11n', 'periodo': '00-06', 'descripcion': 'Despejado'}, {'value': '11', 'periodo': '06-12', 'descripcion': 'Despejado'}, {'value': '11', 'periodo': '12-18', 'descripcion': 'Despejado'}, {'value': '11n', 'periodo': '18-24', 'descripcion': 'Despejado'}], 'viento': [{'direccion': 'S', 'velocidad': 10, 'periodo': '00-24'}, {'direccion': 'S', 'velocidad': 10, 'periodo': '00-12'}, {'direccion': 'S', 'velocidad': 10, 'periodo': '12-24'}, {'direccion': 'N', 'velocidad': 5, 'periodo': '00-06'}, {'direccion': 'S', 'velocidad': 10, 'periodo': '06-12'}, {'direccion': 'C', 'velocidad': 0, 'periodo': '12-18'}, {'direccion': 'O', 'velocidad': 5, 'periodo': '18-24'}], 'rachaMax': [{'value': '', 'periodo': '00-24'}, {'value': '', 'periodo': '00-12'}, {'value': '', 'periodo': '12-24'}, {'value': '', 'periodo': '00-06'}, {'value': '', 'periodo': '06-12'}, {'value': '', 'periodo': '12-18'}, {'value': '', 'periodo': '18-24'}], 'temperatura': {'maxima': 14, 'minima': 2, 'dato': [{'value': 2, 'hora': 6}, {'value': 10, 'hora': 12}, {'value': 9, 'hora': 18}, {'value': 8, 'hora': 24}]}, 'sensTermica': {'maxima': 14, 'minima': 2, 'dato': [{'value': 2, 'hora': 6}, {'value': 10, 'hora': 12}, {'value': 9, 'hora': 18}, {'value': 8, 'hora': 24}]}, 'humedadRelativa': {'maxima': 90, 'minima': 55, 'dato': [{'value': 90, 'hora': 6}, {'value': 65, 'hora': 12}, {'value': 80, 'hora': 18}, {'value': 80, 'hora': 24}]}, 'uvMax': 2, 'fecha': '2018-12-07'}, {'probPrecipitacion': [{'value': 0, 'periodo': '00-24'}, {'value': 0, 'periodo': '00-12'}, {'value': 0, 'periodo': '12-24'}], 'cotaNieveProv': [{'value': '', 'periodo': '00-24'}, {'value': '', 'periodo': '00-12'}, {'value': '', 'periodo': '12-24'}], 'estadoCielo': [{'value': '12', 'periodo': '00-24', 'descripcion': 'Poco nuboso'}, {'value': '12', 'periodo': '00-12', 'descripcion': 'Poco nuboso'}, {'value': '12', 'periodo': '12-24', 'descripcion': 'Poco nuboso'}], 'viento': [{'direccion': 'C', 'velocidad': 0, 'periodo': '00-24'}, {'direccion': 'O', 'velocidad': 5, 'periodo': '00-12'}, {'direccion': 'C', 'velocidad': 0, 'periodo': '12-24'}], 'rachaMax': [{'value': '', 'periodo': '00-24'}, {'value': '', 'periodo': '00-12'}, {'value': '', 'periodo': '12-24'}], 'temperatura': {'maxima': 13, 'minima': 5, 'dato': []}, 'sensTermica': {'maxima': 13, 'minima': 5, 'dato': []}, 'humedadRelativa': {'maxima': 90, 'minima': 65, 'dato': []}, 'uvMax': 2, 'fecha': '2018-12-08'}, {'probPrecipitacion': [{'value': 0, 'periodo': '00-24'}, {'value': 0, 'periodo': '00-12'}, {'value': 0, 'periodo': '12-24'}], 'cotaNieveProv': [{'value': '', 'periodo': '00-24'}, {'value': '', 'periodo': '00-12'}, {'value': '', 'periodo': '12-24'}], 'estadoCielo': [{'value': '12', 'periodo': '00-24', 'descripcion': 'Poco nuboso'}, {'value': '12', 'periodo': '00-12', 'descripcion': 'Poco nuboso'}, {'value': '11', 'periodo': '12-24', 'descripcion': 'Despejado'}], 'viento': [{'direccion': 'C', 'velocidad': 0, 'periodo': '00-24'}, {'direccion': 'NE', 'velocidad': 5, 'periodo': '00-12'}, {'direccion': 'C', 'velocidad': 0, 'periodo': '12-24'}], 'rachaMax': [{'value': '', 'periodo': '00-24'}, {'value': '', 'periodo': '00-12'}, {'value': '', 'periodo': '12-24'}], 'temperatura': {'maxima': 15, 'minima': 4, 'dato': []}, 'sensTermica': {'maxima': 15, 'minima': 4, 'dato': []}, 'humedadRelativa': {'maxima': 95, 'minima': 65, 'dato': []}, 'uvMax': 2, 'fecha': '2018-12-09'}, {'probPrecipitacion': [{'value': 0}], 'cotaNieveProv': [{'value': ''}], 'estadoCielo': [{'value': '12', 'descripcion': 'Poco nuboso'}], 'viento': [{'direccion': 'NE', 'velocidad': 10}], 'rachaMax': [{'value': ''}], 'temperatura': {'maxima': 14, 'minima': 4, 'dato': []}, 'sensTermica': {'maxima': 14, 'minima': 4, 'dato': []}, 'humedadRelativa': {'maxima': 80, 'minima': 55, 'dato': []}, 'uvMax': 0, 'fecha': '2018-12-10'}, {'probPrecipitacion': [{'value': 5}], 'cotaNieveProv': [{'value': ''}], 'estadoCielo': [{'value': '17', 'descripcion': 'Nubes altas'}], 'viento': [{'direccion': 'C', 'velocidad': 0}], 'rachaMax': [{'value': ''}], 'temperatura': {'maxima': 12, 'minima': 3, 'dato': []}, 'sensTermica': {'maxima': 12, 'minima': 3, 'dato': []}, 'humedadRelativa': {'maxima': 95, 'minima': 60, 'dato': []}, 'fecha': '2018-12-11'}, {'probPrecipitacion': [{'value': 65}], 'cotaNieveProv': [{'value': '1700'}], 'estadoCielo': [{'value': '24', 'descripcion': 'Nuboso con lluvia'}], 'viento': [{'direccion': 'C', 'velocidad': 0}], 'rachaMax': [{'value': ''}], 'temperatura': {'maxima': 10, 'minima': 2, 'dato': []}, 'sensTermica': {'maxima': 10, 'minima': 2, 'dato': []}, 'humedadRelativa': {'maxima': 100, 'minima': 85, 'dato': []}, 'fecha': '2018-12-12'}]}, 'id': 28079, 'version': 1.0}]

示例数据集:

[{'origen': {'productor': 'agency', 'site': 'www.example.com', 'link': 'www.example.com, 'language': 'en', 'copyright': 'yes', 'law': 'example'}, 'creation_date': '2018-12-06', 'Name': 'uk', 'city': 'london', 'PREDICTION': {'dia': [{'probPrecipitacion': [{'value': 0, 'periodo': '00-24'}, {'value': 0, 'periodo': '00-12'}, {'value': 0, 'periodo': '12-24'}, {'value': 0, 'periodo': '00-06'}, {'value': 0, 'periodo': '06-12'}, {'value': 0, 'periodo': '12-18'}, 'id': 28079, 'version': 1.0}]

我试着用熊猫:

predictions = pd.DataFrame (dataset)
predictions ['prediction']

输出:

0 [{'probPrecipitacion': [{'value': 0, 'periodo'...

我想以行和列的形式加载输出结果。你知道吗


Tags: valuedatohoraperiododescripcionmaximaminimadireccion
1条回答
网友
1楼 · 发布于 2024-10-04 01:34:27

你贴的例子乱七八糟,很难理解。你知道吗

这里有一个简单的方法来打印您的数据和可视化它。你知道吗

import pprint
myDataset = {} #insert your dataset into this
pprint.pprint(myDataset)

查看您提供的数据集,您应该能够通过

pred = myDataset[0]['origen']['PREDICTION'] 

由于包含“PREDICTION”的dict位于列表的第一个元素,即第0个索引中,因此您可以通过myDataset[0]访问它。现在您可以访问dict了。“PREDICTION”存储在名为“origen”的键的值中,您可以通过myDataset[0]['origen']访问它。现在这又指向另一个dict,现在您可以通过myDataset[0]['origen']['PREDICTION']访问键“PREDICTION”的值。到现在为止,你应该已经对它的工作原理有了基本的了解。类似地,解析代码给定的值并将其写入csv。关于如何在互联网上编写csv文件,应该有很多例子。下面是一个示例片段。你知道吗

import csv
with open('mycsv.csv', 'w') as writeFile:
    writer = csv.writer(writeFile)
    writer.writerows(variable_containing_some_data)

希望对你有帮助。你知道吗

编辑:

我想通过分析预测应该会给你类似的东西

parsed_data = [{'value': 0, 'periodo': '00-24'}, 
{'value': 0, 'periodo': '00-12'}, 
{'value': 0, 'periodo': '12-24'}, 
{'value': 0, 'periodo': '00-06'}]

使用加载到数据帧

predictions = pd.DataFrame(data=parsed_data)

如果您print(predictions),它会自动生成这样的行和列表示

  periodo  value
0   00-24      0
1   00-12      0
2   12-24      0
3   00-06      0

如果希望对列名进行更多控制,可以使用

predictions = pd.DataFrame(data=parsed_data, columns=. ['periodo','value'])

现在您可以使用

export_csv = predictions.to_csv (r'mycsv', index = None, header=True)

您的csv将如下所示

periodo,value
00-24,0
00-12,0
12-24,0
00-06,0

相关问题 更多 >