我是Python的新手,我试图从一个文件夹读取所有.csv文件,我必须将所有文件的第三列(数据集1)添加到新的.csv文件(或Excel文件)中。我可以处理一个文件并进行编辑(读取,剪切行和列,添加列并进行简单统计)没有问题。
这是我的一个CSV文件Imgur
的示例我有2000多!!!每个有1123行
答案 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
之前在代码中添加检查以验证列。