如何从一个文件夹读取,编辑,合并和保存所有csv文件?

时间:2019-07-01 15:46:06

标签: python python-3.x

我是Python的新手,我试图从一个文件夹读取所有.csv文件,我必须将所有文件的第三列(数据集1)添加到新的.csv文件(或Excel文件)中。我可以处理一个文件并进行编辑(读取,剪切行和列,添加列并进行简单统计)没有问题。

这是我的一个CSV文件Imgur

的示例

我有2000多!!!每个有1123行

2 个答案:

答案 0 :(得分:0)

也许尝试

csv_file = csv.reader(open(path, "r",), delimiter=",")
csv_file1 = csv.reader(open(path, "r",), delimiter=",")
csv_file2 = csv.reader(open(path, "r",), delimiter=",")

然后读为

for row in csv_file:

您的代码在这里

for row in csv_file1:

您的代码在这里

for row in csv_file2:

您的代码在这里

答案 1 :(得分:0)

如果您不想学习数据框,那么使用csv库之类的东西应该很容易。

import os
import csv

new_data = []
for filename in os.listdir('./csv_dir'):
    if filename.endswith('.csv'):
        with open('./csv_dir/' + filename, mode='r') as curr_file:
            reader = csv.reader(curr_file, delimiter=',')
            for row in reader:
                new_data.append(row[2]) # Or whichever column you need

with open('./out_dir/output.txt', mode='w') as out_file:
    for row in new_data:
        out_file.write('{}\n'.format(row))

您的new_data将包含2000 * 1123列。

这可能不是最有效的方法,但是它将完成工作并获取每个CSV。您需要做的工作是确保CSV文件具有正确的结构,或者在附加到new_data之前在代码中添加检查以验证列。