Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
合并两个CSV并使用python转换为json_Python_Json_Csv - Fatal编程技术网

合并两个CSV并使用python转换为json

合并两个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":

我有两个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" :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为相同的数据结构生成数据