编写python脚本,讲一个文件夹中的多个csv文件合并为一个csv文件,每个子文件占用一个sheet,名称使用各自的文件名
时间: 2024-10-23 11:16:44 浏览: 60
在Python中,你可以使用pandas库来实现这个功能,因为它提供了方便的数据操作和读写CSV文件的能力,同时支持创建Excel文件并添加多个sheet。以下是一个简单的步骤说明:
```python
import os
import pandas as pd
# 定义源文件夹路径
folder_path = 'your_folder_path'
# 获取文件夹下的所有csv文件
csv_files = [f for f in os.listdir(folder_path) if f.endswith('.csv')]
# 创建一个空的Excel writer对象
writer = pd.ExcelWriter('merged_data.xlsx', engine='openpyxl')
# 对于每个csv文件
for file_name in csv_files:
# 加载数据
df = pd.read_csv(os.path.join(folder_path, file_name))
# 设置当前sheet的名字
sheet_name = os.path.splitext(file_name)[0] # 去掉.csv扩展名
# 将数据写入新的sheet
df.to_excel(writer, sheet_name=sheet_name, index=False)
# 保存所有更改
writer.save()
相关问题
帮助我写一段py代码,我希望将名为“1st”文件夹中的所有excel文档(每个Excel文档都有多个sheet),合并到一个csv文档中,并将csc命名为“1st_all”
好的,这是一个Python脚本,可以将指定文件夹中的所有Excel文件合并到一个CSV文件中,并将CSV文件命名为“1st_all.csv”。
```python
import pandas as pd
import os
# 设置文件夹路径和CSV文件名
folder_path = './1st/'
csv_file_name = '1st_all.csv'
# 获取文件夹中所有的Excel文件
excel_files = [f for f in os.listdir(folder_path) if f.endswith('.xlsx')]
# 将每个Excel文件中的所有sheet合并到一个DataFrame中
df_all = pd.DataFrame()
for file in excel_files:
excel_file = pd.ExcelFile(folder_path + file)
for sheet_name in excel_file.sheet_names:
df = pd.read_excel(excel_file, sheet_name)
df_all = pd.concat([df_all, df])
# 将合并后的DataFrame保存为CSV文件
df_all.to_csv(folder_path + csv_file_name, index=False)
print('合并后的CSV文件已保存到:', folder_path + csv_file_name)
```
请将脚本保存为py文件并在运行之前,先将文件夹路径和CSV文件名设置为你自己的路径和文件名。希望对你有帮助!
使用python的csv将xlsx中的sheet导出并写入到cfg文件中
在Python中,我们可以使用pandas库来加载Excel文件(xlsx),然后将数据转换为CSV格式,并写入到cfg配置文件中。以下是简单的步骤:
首先,确保已经安装了`pandas`, `openpyxl` 和 `configparser`库,如果没有,可以使用pip安装:
```bash
pip install pandas openpyxl configparser
```
然后,编写如下的Python代码:
```python
import pandas as pd
from openpyxl import load_workbook
import configparser
# 加载Excel文件
wb = load_workbook('input.xlsx')
sheet_name = 'Sheet1' # 如果你的工作表名称不是'Sheet1',请替换此处
data = pd.read_excel(wb, sheet_name=sheet_name)
# 将DataFrame转换为字典,因为ConfigParser模块接受字典格式的数据
config_dict = data.to_dict(orient='records')
# 创建ConfigParser实例
config = configparser.ConfigParser()
# 将字典中的数据添加到配置文件
for i, row in enumerate(config_dict):
config.add_section(f'section_{i+1}') # 假设每个记录对应一个section
for key, value in row.items():
config.set(f'section_{i+1}', key, str(value))
# 将配置写入cfg文件
with open('output.cfg', 'w') as configfile:
config.write(configfile)
```
这个脚本将Excel的指定工作表转换为ConfigParser可以理解的格式,并将其写入一个.cfg文件。
阅读全文