Python:如何在同一输入行上合并多个csv文件?

时间:2015-12-10 00:50:24

标签: csv python-3.x

如何在同一输入行上打开和合并多个csv文件?

import csv
file=input("Enter the csv files:")
f= open(file, 'r')
r=csv.reader(f)
for row in r:
    print(row)

因此,当输入' file'它就像"输入csv文件:may.csv,june.csv.july.csv"

那么如何打开并合并这些文件呢?他们都有相同的标题。 我知道这种格式可能非常糟糕,但谢谢!

2 个答案:

答案 0 :(得分:0)

Maybe something like this:

    import csv
    files = input("Enter the csv files:")
    for file in (f.strip() for f in files.split(',')):
        with open(file) as f:
            r = csv.reader(f)
            next(r)    # Skips the header
            for row in r:
                print(row)

答案 1 :(得分:0)

我可以想到两种方法。 将pandas导入为pd

a = pd.read_csv("C:\\Users\\rshuell001\\Desktop\\excel_files\\Book1.csv")
b = pd.read_csv("C:\\Users\\rshuell001\\Desktop\\excel_files\\Book2.csv")
b = b.dropna(axis=1)
merged = a.merge(b, on='numbers')
merged.to_csv("C:\\Users\\rshuell001\\Desktop\\excel_files\\Book3.csv", index=False)

OR

将pandas导入为pd

a = pd.read_csv("C:\\Users\\rshuell001\\Desktop\\excel_files\\Book1.csv")
b = pd.read_csv("C:\\Users\\rshuell001\\Desktop\\excel_files\\Book2.csv")
b = b.dropna(axis=1)
merged = a.merge(b, on='numbers')
merged.to_csv("C:\\Users\\rshuell001\\Desktop\\excel_files\\Book3.csv", index=False)