python获取多个csv文件中固定几列,并合并在另一个CSV文件中
时间: 2023-03-28 17:03:30 浏览: 142
可以使用 pandas 库来实现。首先,使用 pandas 的 read_csv 函数读取多个 csv 文件,然后使用 loc 函数选择需要的列,最后使用 concat 函数将这些列合并到一个新的 DataFrame 中,最后使用 to_csv 函数将新的 DataFrame 保存为一个 csv 文件。具体实现可以参考以下代码:
```python
import pandas as pd
# 读取多个 csv 文件
df1 = pd.read_csv('file1.csv')
df2 = pd.read_csv('file2.csv')
df3 = pd.read_csv('file3.csv')
# 选择需要的列
df1 = df1.loc[:, ['col1', 'col2']]
df2 = df2.loc[:, ['col1', 'col2']]
df3 = df3.loc[:, ['col1', 'col2']]
# 合并到一个新的 DataFrame 中
df = pd.concat([df1, df2, df3])
# 保存为一个 csv 文件
df.to_csv('new_file.csv', index=False)
```
注意,这里的 `col1` 和 `col2` 分别代表需要选择的列名,可以根据实际情况进行修改。同时,`index=False` 表示不保存索引列。
相关问题
请帮我用python写一段提取多个csv文件的指定几列的代码
在Python中,你可以使用pandas库来处理CSV文件并提取特定列。以下是一个简单的示例,它会读取目录下所有csv文件,并提取指定的列:
```python
import os
import pandas as pd
# 指定需要提取的列名
columns_to_extract = ['column1', 'column2', 'column3']
def extract_columns_from_csvs(directory):
dataframes = []
for filename in os.listdir(directory):
if filename.endswith('.csv'):
file_path = os.path.join(directory, filename)
df = pd.read_csv(file_path)
# 提取指定列
selected_df = df[columns_to_extract]
dataframes.append(selected_df)
# 合并所有数据框(如果有必要的话)
all_data = pd.concat(dataframes, ignore_index=True)
return all_data
# 替换'directory_here'为你实际的CSV文件夹路径
all_data = extract_columns_from_csvs('directory_here')
```
在这个例子中,你需要将`'column1'`, `'column2'`, 和 `'column3'`替换为你要提取的实际列名。如果你的列名在每个文件中都是一样的,这个脚本就能完成任务。
阅读全文