将第三列添加到现有CSV

时间:2017-01-26 13:04:40

标签: python csv

我有一个包含2列(x,y)和5653行的CSV文件,如下所示

0,0
1,0
2,0
3,0
4,0
5,0
....
102,0
102,1
101,1
....
0,1
0,2
1,2
....

现在我想从另一个带有测量值的csv中添加第三列,例如-89等,这些是平均值。 这些也是5653行,它是该文件的第一列? 现在,我如何读取第一个文件读取第二个文件并将其放在这个

0,0,-89
1,0,-89
2,0,-89
3,0,-89
4,0,-90
5,0,-90
6,0,-89
7,0,-89
8,0,-89
9,0,-89

所以我希望这些值只在一个CSV中相同

2 个答案:

答案 0 :(得分:0)

您可以使用与csv不同的pandas模块,不要求您安装任何第三方库。你可以zip两个读者:

import csv

with open('in1.csv') as fin1:
    with open('in2.csv') as fin2:
        with open('out.csv') as fout:
            r1 = csv.reader(fin1)  # iterator over lists of strings
            r2 = csv.reader(fin2)
            w = csv.reader(fout)
            for row1, row2 in zip(r1, r2):
                w.writerow(row1 + row2[:1])  # row from 1 + first column from 2

答案 1 :(得分:0)

您可以使用构建的库pand来处理表格数据。 典型的工作流程:

import pandas as pd
df1 = pd.read_csv("your_path") # df is a shorthand for dataframe, a name for tabular data.

df2 = pd.read_csv("csv2")

# concanating: http://pandas.pydata.org/pandas-docs/stable/merging.html
result = pd.concat([df1, df2], axis=1) # join by row, not by column
result.to_csv("path")