首页 > 其他分享 >Example: Pandas Excel output with column formatting pandas 对excel 列做格式处理

Example: Pandas Excel output with column formatting pandas 对excel 列做格式处理

时间:2023-10-20 14:12:36浏览次数:37  
标签:format column Excel XlsxWriter writer excel pandas Pandas

An example of converting a Pandas dataframe to an Excel file with column formats using Pandas and XlsxWriter.

It isn’t possible to format any cells that already have a format such as the index or headers or any cells that contain dates or datetimes.

Note: This feature requires Pandas >= 0.16.

_images/pandas_column_formats.png
##############################################################################
#
# An example of converting a Pandas dataframe to an xlsx file
# with column formats using Pandas and XlsxWriter.
#
# SPDX-License-Identifier: BSD-2-Clause
# Copyright 2013-2023, John McNamara, [email protected]
#

import pandas as pd

# Create a Pandas dataframe from some data.
df = pd.DataFrame(
    {
        "Numbers": [1010, 2020, 3030, 2020, 1515, 3030, 4545],
        "Percentage": [0.1, 0.2, 0.33, 0.25, 0.5, 0.75, 0.45],
    }
)

# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter("pandas_column_formats.xlsx", engine="xlsxwriter")

# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name="Sheet1")

# Get the xlsxwriter workbook and worksheet objects.
workbook = writer.book
worksheet = writer.sheets["Sheet1"]

# Add some cell formats.
format1 = workbook.add_format({"num_format": "#,##0.00"})
format2 = workbook.add_format({"num_format": "0%"})

# Note: It isn't possible to format any cells that already have a format such
# as the index or headers or any cells that contain dates or datetimes.

# Set the column width and format.
worksheet.set_column(1, 1, 18, format1)

# Set the format but not the column width.
worksheet.set_column(2, 2, None, format2)

# Close the Pandas Excel writer and output the Excel file.
writer.close()

标签:format,column,Excel,XlsxWriter,writer,excel,pandas,Pandas
From: https://www.cnblogs.com/weifeng1463/p/17776916.html

相关文章

  • excel表格怎么设置数据超链接?
     在Excel表格中,可以设置超链接来快速导航到其他单元格、工作表、文件、网页等。下面我将详细介绍如何设置数据超链接。1.在Excel表格中选择要添加超链接的单元格或文本。2.使用鼠标右键点击选定的单元格,然后选择“超链接”选项,或者在菜单栏中选择“插入”->“超链接”。3.......
  • java如何导入导出excel
     在Java中,可以使用多种方式导入和导出Excel文件。下面将详细介绍几种常见的方法及其实现步骤:1.ApachePOI库:  ApachePOI是一个开源的Java库,提供了许多类和方法用于处理MicrosoftOffice格式的文档,包括Excel文件。  -导入Excel文件:   1.导入POI库:首先需要在......
  • excel表格降维
    importpandasaspdfile_path='C:\\Users\\user\\Desktop\\费用统计2023年1-9月\\分产品费用明细表-2023年9月-汇总-汇报20231018-数据源.xlsx'#读取Excel文件df=pd.read_excel(file_path,sheet_name=4)print(df)#将dataframe从二维转化为为一维df_melt=pd.melt(d......
  • .net操作excel
    .NET操作EXCEL //页面初始化//获取 _page并赋值  publicvoidInitial(SlnSuwfPagepage)       {           this._page=page;           this.BindButtonEvent("btnExport2");//给导出明细按钮添加事件       } #regio......
  • Pandas怎样设置处理后的第一行为索引?
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【wen】问了一个Pandas自动化办公的问题,一起来看看吧。请教问题设置了header=None,通过drop_duplicates删除了重复行,怎样设置处理后的第一行为索引(原表格的列比较多,而且每次表格的列的名字不一定相同)二、实现过程这里......
  • 占位符导入模板excel, 再导出xlsx
    1、引入包`<dependency><groupId>org.apache.poi</groupId><artifactId>ooxml-schemas</artifactId><version>1.1</version></dependency><dependency><groupId>or......
  • java生成Excel文件
    版本一:importorg.apache.poi.ss.usermodel.*;importorg.apache.poi.xssf.usermodel.XSSFWorkbook;importjava.io.ByteArrayOutputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.util.ArrayList;importjava.util.HashMap;import......
  • excel导入数据库-摘抄
    假如excel表格中有A、B、C三列数据,希望导入到数据库users表中,相应的字段各自是name,sex,age,在你的excel表格中添加一列。利用excel的公式自己主动生成sql语句,方法例如以下: 1、在你的excel表格中添加一列 2、在第一行的D列,就是D1中输入公式:=CONCATENATE("INSERTINTOPERS......
  • excel怎么固定前几行前几列不滚动?
     在Excel中,如果你想固定前几行或前几列不滚动,可以通过以下几种方法来实现。详细的介绍如下:**固定前几行不滚动:**1.选择需要固定的行数。例如,如果你想要固定前3行,应该选中第4行的单元格。2.在Excel的菜单栏上,点击“视图”选项卡。3.在“窗口”组中,点击“冻结窗格”按钮。......
  • excel怎么固定前几行前几列不滚动?
    在Excel中,如果你想固定前几行或前几列不滚动,可以通过以下几种方法来实现。详细的介绍如下:**固定前几行不滚动:**1.选择需要固定的行数。例如,如果你想要固定前3行,应该选中第4行的单元格。2.在Excel的菜单栏上,点击“视图”选项卡。3.在“窗口”组中,点击“冻结窗格”按钮。此时会弹......