没有共同索引的列合并/附加两个csv文件

时间:2019-06-24 07:56:09

标签: python pandas csv merge

我有两个csv文件

csv1-我发出一个cmd命令并将其写入file1。

timestamp     ref_id    rx        ry     tag      repeat    backoff
1561333986465   44   47.8312    11.0052  c_tag      0        0 
1561334690976   44   47.8312    11.0052  c_tag      1       1500
1561334703668   44   47.8312    11.0052  c_tag      2       1500

csv2-该特定命令的结果被发布到file2。

tStart         source   trackingID  anchs   x        y    z
1561333987329   toa        0           8    96      2.5   4
1561334691738   toa        0           8    95.2    2.2   4
1561334693818   toa        0           8    98.5    3.7   4
1561334704328   toa        0           8    96.6    2.9   4
1561334706428   toa        0           8    95.8    2.6   4
1561334708517   toa        0           8    97.3    4.3   4

如果参数结果设置为0,则命令仅运行一次,结果也将发布一次。如果repeat = 1,则result命令运行两次,并将结果发布两次。因此,如果将result设置为n,则该命令将运行n次,并将结果发布n次到csv2。我需要以一种方式合并这两个文件,以使前7列发布命令,而后7列发布结果。


import csv

in_1_name = "/home/input.csv"
in_2_name = "/home/excel/output.csv"
out_name = "/home/merge/merged.csv"

with open(in_1_name) as in_1, open(in_2_name) as in_2, open(out_name, 'w') as out:
    reader1 = csv.reader(in_1, delimiter=";")
    reader2 = csv.reader(in_2, delimiter=";")
    writer = csv.writer(out, delimiter=";")
    for row1, row2 in zip(reader1, reader2):
        if row1[0] and row2[0]:
            writer.writerow([row1[0], row2[0]])

上面的代码只是合并了从csv1到csv2的列,因为两个csv之间没有什么共同之处,我无法找到一种方法来获得预期的结果。任何帮助表示赞赏。

expected result :

timestamp   ref_id  rx  ry  tag repeat  backoff tStart  source  trackingID  anchs   x   y   z
1561333986465   44  47.8312 11.0052 c_tag   0   0   1561333987329   toa 0   8   96  2.5 4
1561334690976   44  47.8312 11.0052 c_tag   1   1500    1561334691738   toa 0   8   95.2    2.2 4
X   X   X   X   X   X       1561334693818   toa 0   8   98.5    3.7 4
1561334703668   44  47.8312 11.0052 c_tag   2   1500    1561334704328   toa 0   8   96.6    2.9 4
X   X   X   X   X   X   X   1561334706428   toa 0   8   95.8    2.6 4
X   X   X   X   X   X   X   1561334708517   toa 0   8   97.3    4.3 4

0 个答案:

没有答案