为什么这个附加程序是错误的 - 使用熊猫?

时间:2018-04-22 15:43:43

标签: python python-3.x pandas

我有2个.csv文件:

fileA:每行有784个值(我有大约60,000行)。

'0,0,0,0,0,0,215,150,0,0,0,0,1,0,0,69,152,143,238,211,136,143,154,89,0,0,0,...,0\n'

fileB:这也有60,000行,但每行只有1个值

'1\n'

我想附加这2个文件,因此fileC会将fileA附加到fileB。即在fileC中,fileB的值将是第一个值,后面是fileA的其余(784)值,用于结果(每行785个值)。

离。 fileC

'1,0,0,0,0,0,0,215,150,0,0,0,0,1,0,0,69,152,143,238,211,136,143,154,89,0,0,0,...,0\n'

我正在尝试使用pandas执行此操作:

a = pd.read_csv("/Users/usr/Images.csv")
b = pd.read_csv("/Users/usr/Labels.csv")
con = pd.concat([a,b],axis=1)
con.to_csv("testCON.csv", index = False)

但我生成的.csv文件非常庞大,带有小数点:

'0,0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0,...'

我该如何正确地做到这一点?

编辑: 这是fileA中的1行: enter image description here

这就是我的结果: enter image description here

2 个答案:

答案 0 :(得分:1)

我认为对于没有标题的阅读header=None需要csv,然后在b中按指针cᴏʟᴅsᴘᴇᴇᴅ交换aconcat:< / p>

a = pd.read_csv("csvTestImageSmall10 copy.csv", header=None)
b = pd.read_csv("csvTestLabelSmall10 copy.csv", header=None)
con = pd.concat([b,a],axis=1)
print (con)

con.to_csv("testCON.csv", index = False, header=None)

答案 1 :(得分:0)

或者在没有熊猫的情况下自己动手:

import csv
with open("/Users/usr/Images.csv") as a, open("/Users/usr/Labels.csv") as b, open("testCON.csv", 'w') as outfile:
    rdr_a, rdr_b, out = csv.reader(a), csv.reader(b), csv.writer(outfile)
    for line_a, line_b in zip(rdr_a,rdr_b):
        line_b.extend(line_a)
        out.writerow(line_b)