我有一个运行多达1000行数据的大型CSV文件,我想为CSV文件中的每个数据块创建一个JSON文件。
下面是CSV文件的外观。第一行是标题,第二行和第三行是与country_1有关的数据,而对于country_2,第四行中只有数据
在此处复制了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:我经历了How to convert CSV file to multiline JSON?的回答,但在那里找不到解决方法
答案 0 :(得分:0)
如果您要使用熊猫,可以这样做:
import pandas as pd
df = pd.read_csv(<filename>)
df.to_json(<outfilename>)