读取同一文件夹下的所有csv文件,依据列名提取三列,按照第一列大于0的去掉,第二列变成(第二列+第三列)乘以2,最后再分别输出csv文件
时间: 2024-03-20 11:40:35 浏览: 118
好的,你可以使用Python中的pandas库来读取同一文件夹下的所有csv文件,并按照要求进行处理并输出。
以下是示例代码:
```python
import os
import pandas as pd
# 定义CSV文件夹路径
csv_folder = "/path/to/csv/folder"
# 获取CSV文件夹下的所有文件
csv_files = [os.path.join(csv_folder, f) for f in os.listdir(csv_folder) if f.endswith('.csv')]
# 定义要提取的三列
cols_to_extract = ['col1', 'col2', 'col3']
# 遍历所有CSV文件
for csv_file in csv_files:
# 读取CSV文件
df = pd.read_csv(csv_file)
# 提取指定列
df = df[cols_to_extract]
# 去掉第一列大于0的行
df = df[df['col1'] <= 0]
# 对第二列和第三列进行操作
df['col2'] = (df['col2'] + df['col3']) * 2
# 分别输出CSV文件
filename = os.path.splitext(os.path.basename(csv_file))[0]
output_file = os.path.join(csv_folder, f"{filename}_processed.csv")
df.to_csv(output_file, index=False)
```
在上述代码中,你需要将`/path/to/csv/folder`替换为你实际的CSV文件夹路径。然后,代码将使用`os.listdir`函数获取该文件夹下的所有CSV文件,并使用`pd.read_csv`函数读取每个文件。接着,代码将使用`df[cols_to_extract]`语句提取指定列,使用`df[df['col1'] <= 0]`语句去掉第一列大于0的行,使用`(df['col2'] + df['col3']) * 2`语句对第二列和第三列进行操作。最后,使用`df.to_csv`函数将处理后的结果输出到新的CSV文件中。
阅读全文