python处理当前目录下的CSV文件,将所有CSV文件的前3列添加到新的CSV文件中并计算每一列的平均值放到新文件的最后一列
时间: 2024-05-15 16:15:19 浏览: 56
python处理csv文件
以下是一个Python代码示例,用于处理当前目录下的所有CSV文件,将前三列添加到新的CSV文件中,并计算每列的平均值并将其添加到新文件的最后一列:
```python
import os
import csv
# 获取当前目录下的所有CSV文件
csv_files = [f for f in os.listdir('.') if f.endswith('.csv')]
# 创建新文件并写入标题行
new_file = open('new_file.csv', 'w', newline='')
writer = csv.writer(new_file)
writer.writerow(['Column 1', 'Column 2', 'Column 3', 'Average'])
# 遍历所有CSV文件并将前三列添加到新文件中
for file in csv_files:
with open(file) as f:
reader = csv.reader(f)
for row in reader:
writer.writerow(row[:3])
# 计算每列的平均值并将其添加到新文件的最后一列
with open('new_file.csv', 'r') as f:
reader = csv.reader(f)
header = next(reader)
data = list(reader)
num_cols = len(header) - 1
averages = [sum([float(row[i]) for row in data])/len(data) for i in range(num_cols)]
writer.writerow(averages)
# 关闭文件
new_file.close()
```
请注意,此代码假定所有CSV文件中的数据都是浮点数。如果您的CSV文件包含其他类型的数据,请相应地更改代码。
阅读全文