csv 保存多个sheet

该代码实现从指定目录批量读取CSV文件,使用pandas进行读取和转换,并将每个CSV文件的内容写入单独的工作表到一个Excel文件中。主要涉及文件路径处理、文件遍历以及pandas的Excel写入功能。
import pandas as pd
import MySQLdb   
import csv
import random
import pymysql
import pandas as pd
import MySQLdb as mdb
import sys
import time
import os
import numpy as np
import time
import gzip
import datetime


def fun(p_list):
      writer = pd.ExcelWriter('D:\\test.xlsx')
      for i in range
Python中,有多种方法可以实现合并多个CSV文件到Excel的多个sheet工作表中。 ### 方法一:逐个指定CSV文件进行合并 此方法需要手动指定每个CSV文件的路径,并为每个文件指定对应的sheet名称。示例代码如下: ```python import pandas as pd # 定义输出Excel文件路径 outDir = '.' # 假设当前目录 delimiter = '/' analysis_file = outDir + delimiter + 'analysis_result.xlsx' # 创建Excel写入器 writer = pd.ExcelWriter(analysis_file) # 读取并写入第一个CSV文件 outExcelData = 'file1.csv' csv_file1 = pd.read_csv(outExcelData, encoding='utf-8') csv_file1.to_excel(writer, sheet_name='result') # 读取并写入第二个CSV文件 anchor = 'file2.csv' csv_file2 = pd.read_csv(anchor, encoding='utf-8') csv_file2.to_excel(writer, sheet_name='anchor_data') # 读取并写入第三个CSV文件 refer1 = 'file3.csv' csv_file3 = pd.read_csv(refer1, encoding='utf-8') csv_file3.to_excel(writer, sheet_name='refer_data') # 保存Excel文件 writer.save() ``` 这种方法适用于CSV文件数量较少的情况,需要手动指定每个文件的路径和对应的sheet名称 [^1]。 ### 方法二:自动读取文件夹中的CSV文件 在更多情况下,可能不想一个一个地输入文件名,而是把所有要处理的CSV文件放在一个文件夹中,让Python自动读取这些CSV文件,并创建一个Excel文件,以及自动将文件名作为sheet导入到Excel文件中。示例代码如下: ```python import pandas as pd import os # 定义CSV文件所在文件夹路径 csv_folder = 'csv_folder' # 定义输出Excel文件路径 output_excel = 'combined_result.xlsx' # 创建Excel写入器 writer = pd.ExcelWriter(output_excel) # 遍历文件夹中的所有CSV文件 for csv_file in os.listdir(csv_folder): if csv_file.endswith('.csv'): csv_path = os.path.join(csv_folder, csv_file) df = pd.read_csv(csv_path, encoding='utf-8') # 使用文件名作为sheet名称(去除扩展名) sheet_name = os.path.splitext(csv_file)[0] df.to_excel(writer, sheet_name=sheet_name) # 保存Excel文件 writer.save() ``` 这种方法适用于CSV文件数量较多的情况,可以自动处理文件夹中的所有CSV文件 [^2]。 ### 方法三:将多个DataFrame以追加方式合并到已存在Excel表的多个sheet中 这里有两种实现方式: #### 方式一:由`openpyxl`作为`ExcelWriter`的`engine` ```python import pandas as pd from openpyxl import load_workbook # 假设已存在的Excel文件 existing_excel = 'existing_file.xlsx' # 读取已存在的Excel文件 book = load_workbook(existing_excel) # 创建Excel写入器,使用openpyxl作为引擎 writer = pd.ExcelWriter(existing_excel, engine='openpyxl') writer.book = book # 读取并写入新的CSV文件 new_csv = 'new_file.csv' df = pd.read_csv(new_csv, encoding='utf-8') df.to_excel(writer, sheet_name='new_sheet') # 保存Excel文件 writer.save() ``` #### 方式二:设置`ExcelWriter`的写入模型,以追加的方式写入 ```python import pandas as pd # 假设已存在的Excel文件 existing_excel = 'existing_file.xlsx' # 以追加模式打开Excel文件 with pd.ExcelWriter(existing_excel, mode='a', engine='openpyxl') as writer: # 读取并写入新的CSV文件 new_csv = 'new_file.csv' df = pd.read_csv(new_csv, encoding='utf-8') df.to_excel(writer, sheet_name='new_sheet') ``` 这两种方式适用于需要将新的CSV文件以追加方式合并到已存在Excel文件的多个sheet中的情况 [^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值