批量读取同一文件夹下的csv文件,依据列名提取三列,按照第一列大于0的去掉,第二列变成(第二列+第三列)乘以2,最后该目录下的csv文件由上改动后再分别再写入新的csv文件,新的csv文件后缀new
时间: 2024-03-20 20:43:12 浏览: 73
你可以使用 `pandas` 模块来读取和处理 csv 文件,然后使用 `os` 模块来遍历当前文件夹下的所有 csv 文件,代码如下所示:
```python
import os
import pandas as pd
# 定义要提取的列名
columns = ['col1', 'col2', 'col3']
# 获取当前目录下所有 csv 文件路径
csv_files = [filename for filename in os.listdir('.') if filename.endswith('.csv')]
# 遍历所有 csv 文件
for filename in csv_files:
# 读取 csv 文件
df = pd.read_csv(filename)
# 提取指定的列
df = df[columns]
# 去掉第一列大于0的行
df = df[df['col1'] <= 0]
# 对第二列和第三列进行计算
df['col2'] = (df['col2'] + df['col3']) * 2
# 输出到新的 csv 文件
output_filename = f"new_{filename}"
df.to_csv(output_filename, index=False)
```
这段代码会获取当前目录下所有的 csv 文件路径,然后遍历每个文件,读取、处理和输出。你需要将 `columns` 替换为实际的列名,以及根据需要修改计算和输出的逻辑。新的 csv 文件的文件名会在原有文件名前加上 "new_" 前缀,后缀不变。
阅读全文