python如何把一个文件夹中里的所有csv文件的所有第二行都输出到一个新的csv文件,所有第三行输出到另一个新的csv文件,以此类推
时间: 2024-02-21 09:56:43 浏览: 59
你可以使用Python的CSV模块来读取和写入CSV文件,使用os模块来遍历文件夹中的所有CSV文件。下面是一个实现上述功能的示例代码:
```python
import csv
import os
# 遍历文件夹中所有CSV文件
def process_csv_files(folder_path):
for filename in os.listdir(folder_path):
if filename.endswith('.csv'):
process_csv_file(os.path.join(folder_path, filename))
# 处理单个CSV文件
def process_csv_file(csv_file):
with open(csv_file, 'r', newline='') as input_file:
reader = csv.reader(input_file)
headers = next(reader) # 获取第一行作为表头
for i, header in enumerate(headers):
output_file = f'{os.path.splitext(csv_file)[0]}_{i+1}.csv' # 新文件名
with open(output_file, 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow([header]) # 写入当前列的表头
for row in reader:
writer.writerow([row[i]]) # 写入当前列的数据
# 测试代码
if __name__ == '__main__':
folder_path = 'path/to/csv/folder'
process_csv_files(folder_path)
```
在代码中,`process_csv_files`函数用于遍历指定文件夹中所有CSV文件,并调用`process_csv_file`函数处理每个CSV文件。`process_csv_file`函数中,我们首先读取CSV文件的表头,然后遍历每一列并将每列的数据输出到新的CSV文件中。新CSV文件的文件名为原始文件名加上列号。例如,如果原始文件名为`data.csv`,并且我们正在处理第二列,则新文件名为`data_2.csv`。
阅读全文