合并两个CSV并使用python转换为json
我有两个csv文件合并两个CSV并使用python转换为json,python,json,csv,Python,Json,Csv,我有两个csv文件 x.csv ================ A B D 1 b1 d1 2 b2 d2 3 b3 d3 4 b4 d4 y.csv =================== A B D 1 1b 1d 2 2b 2d 3 3b 3d 5 5b 5d ==================== 这里a列是id列。 合并这两个文件后,我需要一个json。。。。 数据看起来像 [{ "A":1, "B":
x.csv
================
A B D
1 b1 d1
2 b2 d2
3 b3 d3
4 b4 d4
y.csv
===================
A B D
1 1b 1d
2 2b 2d
3 3b 3d
5 5b 5d
====================
这里a列是id列。
合并这两个文件后,我需要一个json。。。。
数据看起来像
[{
"A":1,
"B":{ "x" :b1,
"y" : 1b
}
"D" :{
"x" :d1,
"y" :1d
}
},{
"A":2,
"B":{ "x" :b2,
"y" : 2b
}
"D" :{
"x" :d2,
"y" :2d
} }
.....
.....]
这里,来自x.csv和y.csv的数据都将位于json数据中,具有两个不同的键(x表示来自x.csv的数据,y表示来自y.csv的数据),但具有相同的列(如B或D)。
任何人都可以共享脚本。
我试过了,但是如何将列名转换为动态的。要将其转换为json,我们必须知道列名。但是,我必须先将列名转换为动态的,以便对于任何csv文件,要将数据转换为json,我们不需要提及列。它可以自动从csv的列名中获取。file1=“/home/arup/Desktop/MergePoc/1/eogcompletions.csv”output=“/home/arup/Desktop/MergePoc/1/eogcompletions.json”f=open(file1,'r')csv\u reader=csv.DictReader(f)jsonf=open(output,'w')data=json.dumps([r代表csv\u reader中的r])jsonf.write(data)f.close().jsonf.jsonf.close()上面的脚本为json创建了一个csv文件,列名作为键,数据作为值。但是我不能使用另一个csv为相同的数据结构生成数据