批量读取一个文件夹下的csv文件提取三列,按照第三列的数值大于0的去掉,第一列变成(第一列加上第二列)乘以2以后,再分别形成新的csv
时间: 2024-03-19 07:45:30 浏览: 67
好的,根据你的要求,我稍微修改一下之前的代码:
```python
import os
import pandas as pd
def read_csv_files(folder_path):
"""
读取文件夹下的所有csv文件,并将它们合并成一个DataFrame
"""
df_list = []
for filename in os.listdir(folder_path):
if filename.endswith('.csv'):
file_path = os.path.join(folder_path, filename)
df = pd.read_csv(file_path)
df_list.append(df)
merged_df = pd.concat(df_list)
return merged_df
folder_path = 'your_folder_path'
merged_df = read_csv_files(folder_path)
new_df = merged_df[['col1', 'col2', 'col3']] # 假设需要提取的列是col1、col2和col3
new_df = new_df[new_df['col3'] > 0] # 去掉第三列数值小于等于0的行
new_df['col1'] = (new_df['col1'] + new_df['col2']) * 2
for index, row in new_df.iterrows():
filename = f"new_file_{index}.csv"
row.to_csv(filename, index=False, header=False)
```
这里的修改主要在第四步,加了一个过滤条件,只保留第三列数值大于0的行。其他步骤与之前的代码相同。同样需要注意的是,这里的代码只是一个简单的示例,具体实现还需要考虑更多的情况。
阅读全文