用python编写在多个csv文件中选取自己想要的合成一个新的csv文件的代码
时间: 2023-08-31 11:27:49 浏览: 96
### 回答1:
可以使用Python的Pandas库来合并多个CSV文件。以下是一个示例代码,假设要合并所有名为"data_*.csv"的文件,并选择第一列和第三列:
```python
import glob
import pandas as pd
# 获取所有需要合并的CSV文件
all_files = glob.glob("data_*.csv")
# 读取所有CSV文件,并合并到一个DataFrame对象中
df_list = []
for filename in all_files:
df = pd.read_csv(filename, usecols=[0,2])
df_list.append(df)
merged_df = pd.concat(df_list, axis=1)
# 将合并后的DataFrame对象保存为新的CSV文件
merged_df.to_csv("merged_data.csv", index=False)
```
这个代码使用glob库获取所有需要合并的CSV文件,然后使用Pandas的read_csv函数读取每个文件的第一列和第三列,并将它们合并到一个DataFrame对象中。最后,使用to_csv函数将合并后的DataFrame保存为一个新的CSV文件。
### 回答2:
你可以使用Python的pandas库来实现在多个CSV文件中选取所需内容并合并成一个新的CSV文件。
首先,导入pandas库:
```python
import pandas as pd
```
接下来,定义一个函数来合并CSV文件:
```python
def merge_csv(files, output_file):
all_data = pd.DataFrame() # 创建一个空的DataFrame
for file in files:
data = pd.read_csv(file) # 读取CSV文件
all_data = all_data.append(data) # 将数据添加到all_data中
all_data.to_csv(output_file, index=False) # 将合并后的数据保存到新的CSV文件中
```
在函数中,我们首先创建一个空的DataFrame `all_data`,然后遍历所有要合并的CSV文件。对于每个文件,我们使用`pd.read_csv()`函数读取CSV数据,并使用`append()`方法将数据添加到`all_data`中。最后,我们使用`to_csv()`方法将合并后的数据保存到输出文件中,设置`index=False`来去除索引列。
最后,调用该函数并传入要合并的CSV文件列表和输出文件名:
```python
files = ['file1.csv', 'file2.csv', 'file3.csv'] # 要合并的CSV文件列表
output_file = 'merged.csv' # 合并后的输出文件名
merge_csv(files, output_file) # 调用函数合并CSV文件
```
以上代码将会按照文件列表的顺序合并CSV文件,并将合并结果保存为`merged.csv`文件。
请根据实际需求修改文件名、路径和选择特定列等。
### 回答3:
下面是一个用Python编写的代码示例,用于从多个CSV文件中选择所需的数据,并将其合并为一个新的CSV文件:
```python
import pandas as pd
import os
# 设置要选择的CSV文件路径和文件名
file_dir = "路径/至/CSV文件目录"
selected_files = ["文件1.csv", "文件2.csv", "文件3.csv"]
# 创建一个用于存储所选数据的空DataFrame
merged_data = pd.DataFrame()
# 遍历所选文件
for file in selected_files:
file_path = os.path.join(file_dir, file)
# 读取CSV文件中的数据
data = pd.read_csv(file_path)
# 在这里添加数据选择或处理的代码
# 例如,如果要选择特定的列: data = data[['列名1', '列名2', ...]]
# 将所选数据合并到总的DataFrame中
merged_data = pd.concat([merged_data, data], ignore_index=True)
# 将合并后的数据保存到新的CSV文件中
merged_data.to_csv("合并文件.csv", index=False)
```
上述代码假设所要选择的CSV文件位于同一个文件夹下,并且我们通过selected_files列表指定了要选择的文件名。可以根据实际情况修改这些变量。
在遍历每个CSV文件时,我们可以添加更多的代码来选择特定的列、进行数据处理等。例如,如果我们只想选择列名为 '列名1' 和 '列名2' 的数据,可以在读取数据后使用 `data = data[['列名1', '列名2']]` 完成选择。
最后,将所有选择后的数据通过 `pd.concat` 函数合并为一个总的DataFrame,并使用 `to_csv()` 方法将结果保存到新的CSV文件中,指定 `index=False` 参数来避免保存索引列。
阅读全文