多个csv文件合并成一个,写个python脚本
时间: 2023-09-08 15:12:04 浏览: 216
好的,以下是一个简单的 Python 脚本,可以将多个 CSV 文件合并成一个:
```python
import os
import glob
import pandas as pd
# 获取所有 CSV 文件
files = glob.glob("*.csv")
# 读取所有 CSV 文件
df_list = []
for filename in files:
df = pd.read_csv(filename)
df_list.append(df)
# 合并所有数据
merged_df = pd.concat(df_list)
# 保存合并后的数据
merged_df.to_csv("merged.csv", index=False)
```
您可以将此脚本放在 CSV 文件所在的文件夹中,然后运行它,它将读取所有 CSV 文件并将它们合并成一个名为 "merged.csv" 的文件。
相关问题
使用python,如何将多个csv文件合并成一个csv文件,每个csv文件有三列数据
在Python中,合并多个CSV文件可以使用内置的`csv`模块或者更高级的pandas库来实现。以下是使用pandas库来完成这一任务的一个例子,因为pandas提供了更简单易用的接口,尤其适合处理大型数据集。
首先,确保安装了pandas库,如果还没有安装,可以通过pip安装:
```bash
pip install pandas
```
然后,可以使用以下Python脚本来合并多个CSV文件:
```python
import pandas as pd
import os
# 指定包含CSV文件的目录
directory = 'path/to/csv_files'
all_data = []
# 遍历目录中的所有文件
for filename in os.listdir(directory):
if filename.endswith('.csv'): # 确保是CSV文件
file_path = os.path.join(directory, filename)
# 读取CSV文件内容到DataFrame
df = pd.read_csv(file_path)
all_data.append(df)
# 合并所有DataFrame
combined_df = pd.concat(all_data, ignore_index=True)
# 将合并后的数据保存到新的CSV文件中
combined_df.to_csv('combined_csv.csv', index=False)
```
这段代码首先导入必要的模块,然后遍历指定目录下的所有CSV文件,并将它们逐个读取到pandas的DataFrame对象中。使用`pd.concat`函数将所有单独的DataFrame合并成一个大的DataFrame。最后,将合并后的DataFrame保存到一个新的CSV文件中。
写一个python脚本,把指定目录及其子目录的txt文件合并成一个csv文件
以下是一个将指定目录及其子目录中的所有txt文件合并为一个csv文件的Python脚本示例:
```python
import os
import csv
# 指定目录
dir_path = '/path/to/directory'
# 创建CSV文件
with open('merged_file.csv', mode='w', newline='') as csv_file:
writer = csv.writer(csv_file)
# 遍历目录及其子目录
for root, _, files in os.walk(dir_path):
for file_name in files:
# 只处理txt文件
if file_name.endswith('.txt'):
file_path = os.path.join(root, file_name)
# 读取txt文件内容并写入CSV文件
with open(file_path, mode='r') as txt_file:
content = txt_file.read()
writer.writerow([file_path, content])
```
此脚本将遍历指定的目录及其子目录,查找所有扩展名为txt的文件,并将它们的路径和内容写入一个名为merged_file.csv的CSV文件中。在CSV文件中,每行包含文件路径和内容。注意,如果CSV文件不存在,该脚本将自动创建它。
阅读全文