如何从多个csv文件提取若干行数据到新csv文件
时间: 2023-10-05 12:09:17 浏览: 91
python3,csv多列提取重新生成csv
您可以使用Python的pandas库来实现这个任务。您可以按照以下步骤进行操作:
1. 导入pandas库和os库(用于访问文件系统):
```
import pandas as pd
import os
```
2. 创建一个空的DataFrame:
```
df = pd.DataFrame()
```
3. 使用os库的listdir函数来获取包含csv文件的目录中的所有文件名:
```
file_names = os.listdir('your_directory_path')
```
4. 使用for循环遍历文件名列表,将每个csv文件读入DataFrame中,然后从中选择所需的行:
```
for file_name in file_names:
if file_name.endswith('.csv'):
file_path = os.path.join('your_directory_path', file_name)
temp_df = pd.read_csv(file_path)
selected_rows = temp_df.loc[some_condition]
df = pd.concat([df, selected_rows])
```
在上述代码中,您需要将“some_condition”替换为您选择行的条件。
5. 将DataFrame保存到新的csv文件中:
```
df.to_csv('your_new_file_path', index=False)
```
在上述代码中,您需要将“your_new_file_path”替换为您希望保存新csv文件的路径和文件名。
完整的代码示例:
```
import pandas as pd
import os
df = pd.DataFrame()
file_names = os.listdir('your_directory_path')
for file_name in file_names:
if file_name.endswith('.csv'):
file_path = os.path.join('your_directory_path', file_name)
temp_df = pd.read_csv(file_path)
selected_rows = temp_df.loc[some_condition]
df = pd.concat([df, selected_rows])
df.to_csv('your_new_file_path', index=False)
```
希望这可以帮助您完成任务。
阅读全文