【发布时间】:2021-12-28 16:53:55
【问题描述】:
我有CSV格式的数据,例如:
- 第一行是列号,我们忽略它。
- 第二行,从 Col_4 开始,是天数
- 第三行:Col_1 和 Col_2 是坐标(经度、纬度),Col_3 是统计值,Col_4 以后是测量值。
如您所见,这种格式令人困惑。我想通过以下方式将其转换为 JSON,例如:
{"points":{
"dates": ["20190103", "20190205"],
"0":{
"lon": "-8.072557",
"lat": "41.13702",
"measurements": ["-0.191792","-10.543130"],
"val": "-1"
},
"1":{
"lon": "-8.075557",
"lat": "41.15702",
"measurements": ["-1.191792","-2.543130"],
"val": "-9"
}
}
}
总结一下我到目前为止所做的事情,我将 CSV 读取到 Pandas DataFrame:
df = pandas.read_csv("sample.csv")
我可以将日期提取到一个 Numpy 数组中:
dates = df.iloc[0][3:].to_numpy()
我可以提取所有点的测量值:
measurements_all = df.iloc[1:,3:].to_numpy()
而 lon 和 lat 和 val 分别用:
lon_all = df.iloc[1:,0:1].to_numpy()
lat_all = df.iloc[1:,1:2].to_numpy()
val_all = df.iloc[1:,2:3].to_numpy()
谁能解释我如何将此信息格式化为与 .json 示例相同的结构?
【问题讨论】:
标签: python json pandas dataframe csv