我有一个JSON文件,如下所示:
{
"temperature": [
{
"ts": 1672753924545,
"value": "100"
}
],
"temperature c1": [
{
"ts": 1672753924545,
"value": "30.99036523512186"
}
],
"conductivite_c1": [
{
"ts": 1672753924545,
"value": "18.195760116755046"
}
],
"pression_c1": [
{
"ts": 1672753924545,
"value": "10.557751448931295"
}
],
"ph_c1": [
{
"ts": 1672753924545,
"value": "10.443975738053357"
}
],
"http": [
{
"ts": 1672753924545,
"value": "400"
}
]
}
这是我的代码:
import csv
import json
data = json.loads('{"temperature": [{"ts": 1672753924545, "value": "100"}], "temperature c1": [{"ts": 1672753924545, "value": "30.99036523512186"}], "conductivite_c1": [{"ts": 1672753924545, "value": "18.195760116755046"}], "pression_c1": [{"ts": 1672753924545, "value": "10.557751448931295"}], "ph_c1": [{"ts": 1672753924545, "value": "10.443975738053357"}], "http": [{"ts": 1672753924545, "value": "400"}]}')
with open('data.csv', 'w', newline='') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=data.keys())
writer.writeheader()
for key in data:
for row in data[key]:
writer.writerow({key: row['value']})
我想将其转换为CSV,其中ts位于行中(不是同一行),键位于列中,但它提供了一种weired格式,其中所有键位于同一列中,而没有ts
3条答案
按热度按时间qkf9rpyu1#
如果你想每次新的数据.csv,只是取代“a”在打开('data2.csv','a')到“w”,如果你还需要所有的csv文件,你必须生成新的名称为csv文件
gev0vcfq2#
我会重新格式化你的数据
vatpfxk53#
下面是一个简单的实现:
请注意,如果每个字段有多个时间戳,它还会添加一个新行。