python - 通过将值存储为数组和 JSON 对象,将 CSV 文件中的行转换为多个 JSON 文件
问题描述
我有一个运行多达 1000 行数据的大型 CSV 文件,我想为 CSV 文件中的每个数据块创建一个 JSON 文件。
下面是 CSV 文件的外观。第一行是标题,第 2 行和第 3 行是与 country_1 相关的数据,而 country_2 只有第 4 行的数据
在此处复制了 CSV 的内容
countryname MultiValues_name MulitValues_Value dateRange_name dataRange_start date_range_end
country_1 Variables AAA selectdate 2019-01-01T00:00:00Z 2019-02-02T00:00:00Z
BBB
country_2 Variables selectdate 1996-01-01T00:00:00Z 1996-02-02T00:00:00Z
我想将 CSV 中的每个数据块作为 JSON 对象存储在一个单独的文件中我期望 country_1 的 JSON 对象在单独的文件中如下所示让我们说 file1.json
{
"countryname": "country_1",
"MultiValues": [{"name": "variables", "value": ["AAA","BBB"]}],
"dateRange": [{"name": "selectdate","start": "2019-01-01T00:00:00Z","end": "2019-02-02T00:00:00Z"}]
}
类似地,country_2 存储为 file2.json
{
"countryname": "country_2",
"dateRange": [{"name": "selectdate","start": "1996-01-01T00:00:00Z","end": "1996-02-02T00:00:00Z"}]
}
我能够从 CSV 读取并写入 Json 以获得简单的名称值对。在这种情况下,值存储为数组或值存储为 json 对象,而 json 对象内部又包含一个数组。这似乎很棘手。如果这可能有助于以更简单的方式创建 json,我有权编辑 CSV 文件的结构
PS:我浏览了如何将 CSV 文件转换为多行 JSON 的答案?但在那里找不到解决方案
解决方案
如果您使用熊猫,您可以这样做:
import pandas as pd
df = pd.read_csv(<filename>)
df.to_json(<outfilename>)
推荐阅读
- flutter - Flutter:关闭 PageRoute 后,CupertinoTabScaffold 选项卡内容不刷新
- python - 将值与 pandas DataFrame 中的前一行进行比较并用黄色和绿色着色
- firebase - Imagepicker'XFile'不是类型转换和Firebase存储图像上传错误中'File'类型的子类型
- python - 熊猫如何将函数应用于 groupby().first()
- zpl - ZEBRA ZPL 标签格式与文本一起打印报价单
- tensorflow - 在 tensorflow 2.3 中执行量化感知训练 (QAT) 时无法访问正则化损失值
- sql - 将多行转换为列
- r - 拆分矩阵列,无需中间转换为矩阵
- python - 将 tkinter 条目链接到彼此的输入
- heroku - 是否可以在 Heroku 上运行不和谐音乐机器人?