首页 > 其他分享 >pd.ExcelWriter 实现数据写入不同sheet

pd.ExcelWriter 实现数据写入不同sheet

时间:2024-02-26 17:35:09浏览次数:16  
标签:Sheet df1 sheetname pd ExcelWriter sheet

pd.ExcelWriter 将数据写入不同sheet

当结合for循环使用时,需注意放在for循环前面

以下写法,仅生成一个sheet,原因在于pd.ExcelWriter 的mode默认是w,每次for循环写入数据都会对原有的数据进行覆盖,最终只会生成一个sheet

import pandas as pd
df1 = pd.DataFrame([["AAA", "BBB"]], columns=["Spam", "Egg"])  
df2 = pd.DataFrame([["ABC", "XYZ"]], columns=["Foo", "Bar"])  
list_ = ["Sheet_1", "Sheet_2"]
for sheetname in list_:
    with pd.ExcelWriter("/Users/wang/Desktop/path_to_file.xlsx") as writer:
        df1.to_excel(writer, sheet_name=sheetname) 

image

修改后的写法,可以实现诉求。

方案一:with 放在for循环前

import pandas as pd
df1 = pd.DataFrame([["AAA", "BBB"]], columns=["Spam", "Egg"])  
df2 = pd.DataFrame([["ABC", "XYZ"]], columns=["Foo", "Bar"])  
list_ = ["Sheet_1", "Sheet_2"]
with pd.ExcelWriter("/Users/wang/Desktop/path_to_file1.xlsx") as writer:
    for sheetname in list_:
        df1.to_excel(writer, sheet_name=sheetname)  

方案二:修改engine和mode

import pandas as pd
df1 = pd.DataFrame([["AAA", "BBB"]], columns=["Spam", "Egg"])  
df2 = pd.DataFrame([["ABC", "XYZ"]], columns=["Foo", "Bar"])  
list_ = ["Sheet_1", "Sheet_2"]
for sheetname in list_:
    with pd.ExcelWriter("/Users/wang/Desktop/path_to_file.xlsx", engine="openpyxl", mode="a") as writer:
        df1.to_excel(writer, sheet_name=sheetname)  

image

标签:Sheet,df1,sheetname,pd,ExcelWriter,sheet
From: https://www.cnblogs.com/wxyz94/p/18034761

相关文章

  • PDFUtils (解析PDF 中的文本 和 图片 PDF 转 HTML HTML 转 PDF)
    引入pdfbox依赖<dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.19</version></dependency>packagecom.icil.swif......
  • 如何使用ilovepdf中文在线转换
    iLovePDF是一个多功能的PDF文件处理应用,它提供了一个中文版的版本,适合中国用户使用。无需下载和安装,直接打开网页就能快速使用,以下是关于如何使用iLovePDF中文版的步骤指南:ilovepdf在线转换的使用方法1.打开ilovepdf官网:在浏览器中输入ilovepdf的官方网址,进入官网首页。2.选......
  • Java - 将TXT文本文件转换为PDF文件
    与TXT文本文件,PDF文件更加专业也更适合传输,常用于正式报告、简历、合同等场合。项目中如果有使用Java将TXT文本文件转为PDF文件的需求,可以查看本文中介绍的免费实现方法。 免费JavaPDF库本文介绍的方法需要用到FreeSpire.PDFforJava,该免费库支持多种操作、转换PDF文档的功......
  • Linux:离线搭建vsftpd服务并记录新建用户登录报错问题(转载)
    1.检查本机是否安装过vsftpd#检查是否存在vsftpdrpm-qa|grepvsftpd2.下载离线安装包下载地址:http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64)3.开始安装vsftpd#安装vsftpdrpm-ivhvsftpd-3.0.2-21.el7.x86_64.rpm4.测试是否安装成功......
  • Npoi 中一个sheet多个 head row 情况下设置自动合适的宽度
    publicvoidTEst(){vardics=newList<Dictionary<string,int>>();dics.Add(newDictionary<string,int>{{"key0",12},{"key1",4},{"key2",5},{"key3",8}});......
  • Java 使用 itext 向PDF插入数据和图片
    Java使用itext向PDF插入数据和图片一、下载AdobeAcrobatDC二、制作模板1、准备一个word模板,并转换成PDF格式2、使用AdobeAcrobatDC打开PDF文档,并在右侧搜索框搜索表单,点击准备表单 3、点击开始,制作PDF表单 4、扫描完成后如下图,蓝白色框就是可编辑表单......
  • vue3+vite使用vue-pdf-embed或者pdf-vue3预览 PDF 文件(能躲避 XSS 攻击,需要 pdf 文件
    1.使用vue-pdf-embed1.npm安装所需插件[email protected]@0.1.62.封装组件(创建pdfPriview.index文件)<template><divclass="pdf-preview"> <vue-pdf-embed :source="state.source" v-for="pageinstate......
  • 导出页面为PDF格式
     安装(注意安装顺序) npminstall--savehtml2canvas npminstall--save jspdf文件htmlToPdf.js//导出页面为PDF格式importhtml2Canvasfrom'html2canvas'importJsPDFfrom'jspdf'exportdefault{install(Vue,options){Vue.prototype.getPd......
  • 保存CSDN博客为PDF
    打开浏览器开发者工具的控制塔,输入以下代码回车。(function(){$("#side").remove();$("#comment_title,#comment_list,#comment_bar,#comment_form,.announce,#ad_cen,#ad_bot").remove();$(".nav_top_2011,#header,#navigator").remove();$(".p4co......
  • 记录pyinstaller 打包 pdfplumber 问题解决过程
    今天有一个pdf文件处理需求,使用pdfplumber库完成,python环境是3.11+win10pyinstaller5.10.1打包完成后,工具可以顺利打开,但是执行处理的时候报错File"pypdfium2_raw\bindings.py",line93,in<module>File"pypdfium2_raw\bindings.py",line83,in_register_library......