通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

python如何保存excel新建表

python如何保存excel新建表

使用Python保存Excel新建表的方法有多种,常见的方法包括使用Pandas库、Openpyxl库或XlsxWriter库。本文将详细介绍这些方法,并提供示例代码来展示如何实现。以下是三种常见方法的概述:

  1. Pandas库:Pandas是一个强大的数据分析库,提供了方便的DataFrame结构,可以轻松地将数据保存到Excel文件中。
  2. Openpyxl库:Openpyxl是一个专门用于读取和写入Excel文件的库,可以处理Excel 2010 xlsx/xlsm/xltx/xltm文件。
  3. XlsxWriter库:XlsxWriter是一个用于创建Excel文件的Python模块,支持丰富的Excel功能,例如格式设置、图表等。

下面将详细介绍这三种方法,并提供代码示例。

一、PANDAS库

Pandas库是数据分析中常用的库,可以方便地处理数据并将其保存到Excel文件中。使用Pandas库保存Excel文件的步骤如下:

  1. 导入Pandas库。
  2. 创建一个DataFrame对象。
  3. 使用to_excel方法将DataFrame对象保存到Excel文件中。

import pandas as pd

创建一个DataFrame对象

data = {

'Name': ['John', 'Anna', 'Peter', 'Linda'],

'Age': [28, 24, 35, 32],

'City': ['New York', 'Paris', 'Berlin', 'London']

}

df = pd.DataFrame(data)

将DataFrame对象保存到Excel文件中

df.to_excel('new_excel_file.xlsx', index=False)

在上面的代码中,我们首先导入了Pandas库,并创建了一个包含一些示例数据的DataFrame对象。然后,我们使用to_excel方法将DataFrame对象保存到名为new_excel_file.xlsx的Excel文件中。index参数设置为False表示不保存DataFrame的索引。

1.1 多个工作表

有时我们需要将多个DataFrame对象保存到同一个Excel文件的不同工作表中。Pandas库提供了ExcelWriter类来实现这一功能。

import pandas as pd

创建两个DataFrame对象

data1 = {

'Name': ['John', 'Anna', 'Peter', 'Linda'],

'Age': [28, 24, 35, 32]

}

data2 = {

'City': ['New York', 'Paris', 'Berlin', 'London'],

'Country': ['USA', 'France', 'Germany', 'UK']

}

df1 = pd.DataFrame(data1)

df2 = pd.DataFrame(data2)

使用ExcelWriter类将多个DataFrame对象保存到同一个Excel文件的不同工作表中

with pd.ExcelWriter('multi_sheet_excel_file.xlsx') as writer:

df1.to_excel(writer, sheet_name='Sheet1', index=False)

df2.to_excel(writer, sheet_name='Sheet2', index=False)

在上面的代码中,我们创建了两个DataFrame对象,并使用ExcelWriter类将它们分别保存到名为multi_sheet_excel_file.xlsx的Excel文件的Sheet1和Sheet2工作表中。

1.2 格式设置

Pandas库还允许我们在保存Excel文件时设置格式。例如,我们可以设置列宽、单元格格式等。

import pandas as pd

创建一个DataFrame对象

data = {

'Name': ['John', 'Anna', 'Peter', 'Linda'],

'Age': [28, 24, 35, 32],

'City': ['New York', 'Paris', 'Berlin', 'London']

}

df = pd.DataFrame(data)

使用ExcelWriter类设置格式

with pd.ExcelWriter('formatted_excel_file.xlsx', engine='xlsxwriter') as writer:

df.to_excel(writer, sheet_name='Sheet1', index=False)

# 获取XlsxWriter的工作簿和工作表对象

workbook = writer.book

worksheet = writer.sheets['Sheet1']

# 设置列宽

worksheet.set_column('A:A', 20)

worksheet.set_column('B:B', 10)

worksheet.set_column('C:C', 15)

# 设置单元格格式

cell_format = workbook.add_format({'bold': True, 'font_color': 'red'})

worksheet.write('A1', 'Name', cell_format)

worksheet.write('B1', 'Age', cell_format)

worksheet.write('C1', 'City', cell_format)

在上面的代码中,我们使用ExcelWriter类和xlsxwriter引擎将DataFrame对象保存到Excel文件中,并设置了列宽和单元格格式。

二、OPENPYXL库

Openpyxl库是一个专门用于读取和写入Excel文件的库,可以处理Excel 2010 xlsx/xlsm/xltx/xltm文件。使用Openpyxl库保存Excel文件的步骤如下:

  1. 导入Openpyxl库。
  2. 创建一个Workbook对象。
  3. 创建一个Worksheet对象。
  4. 将数据写入Worksheet对象。
  5. 保存Workbook对象到Excel文件中。

from openpyxl import Workbook

创建一个Workbook对象

wb = Workbook()

创建一个Worksheet对象

ws = wb.active

写入数据到Worksheet对象

ws['A1'] = 'Name'

ws['B1'] = 'Age'

ws['C1'] = 'City'

data = [

['John', 28, 'New York'],

['Anna', 24, 'Paris'],

['Peter', 35, 'Berlin'],

['Linda', 32, 'London']

]

for row in data:

ws.append(row)

保存Workbook对象到Excel文件中

wb.save('openpyxl_excel_file.xlsx')

在上面的代码中,我们首先导入了Openpyxl库,并创建了一个Workbook对象和一个Worksheet对象。然后,我们将数据写入Worksheet对象,并将Workbook对象保存到名为openpyxl_excel_file.xlsx的Excel文件中。

2.1 多个工作表

有时我们需要将数据保存到多个工作表中。Openpyxl库允许我们创建多个Worksheet对象,并将它们添加到Workbook对象中。

from openpyxl import Workbook

创建一个Workbook对象

wb = Workbook()

创建第一个Worksheet对象

ws1 = wb.active

ws1.title = 'Sheet1'

写入数据到第一个Worksheet对象

ws1['A1'] = 'Name'

ws1['B1'] = 'Age'

data1 = [

['John', 28],

['Anna', 24],

['Peter', 35],

['Linda', 32]

]

for row in data1:

ws1.append(row)

创建第二个Worksheet对象

ws2 = wb.create_sheet(title='Sheet2')

写入数据到第二个Worksheet对象

ws2['A1'] = 'City'

ws2['B1'] = 'Country'

data2 = [

['New York', 'USA'],

['Paris', 'France'],

['Berlin', 'Germany'],

['London', 'UK']

]

for row in data2:

ws2.append(row)

保存Workbook对象到Excel文件中

wb.save('openpyxl_multi_sheet.xlsx')

在上面的代码中,我们创建了两个Worksheet对象,并将它们分别保存到名为openpyxl_multi_sheet.xlsx的Excel文件的Sheet1和Sheet2工作表中。

2.2 格式设置

Openpyxl库还允许我们在保存Excel文件时设置格式。例如,我们可以设置单元格样式、合并单元格等。

from openpyxl import Workbook

from openpyxl.styles import Font, Alignment

创建一个Workbook对象

wb = Workbook()

创建一个Worksheet对象

ws = wb.active

写入数据到Worksheet对象

ws['A1'] = 'Name'

ws['B1'] = 'Age'

ws['C1'] = 'City'

data = [

['John', 28, 'New York'],

['Anna', 24, 'Paris'],

['Peter', 35, 'Berlin'],

['Linda', 32, 'London']

]

for row in data:

ws.append(row)

设置单元格样式

font = Font(bold=True, color='FF0000')

alignment = Alignment(horizontal='center')

ws['A1'].font = font

ws['B1'].font = font

ws['C1'].font = font

ws['A1'].alignment = alignment

ws['B1'].alignment = alignment

ws['C1'].alignment = alignment

合并单元格

ws.merge_cells('E1:F1')

ws['E1'] = 'Merged Cells'

ws['E1'].font = Font(bold=True)

ws['E1'].alignment = Alignment(horizontal='center')

保存Workbook对象到Excel文件中

wb.save('openpyxl_formatted.xlsx')

在上面的代码中,我们使用了Openpyxl库的Font和Alignment类来设置单元格样式,并合并了单元格E1和F1。

三、XLSXWRITER库

XlsxWriter库是一个用于创建Excel文件的Python模块,支持丰富的Excel功能,例如格式设置、图表等。使用XlsxWriter库保存Excel文件的步骤如下:

  1. 导入XlsxWriter库。
  2. 创建一个Workbook对象。
  3. 创建一个Worksheet对象。
  4. 将数据写入Worksheet对象。
  5. 关闭Workbook对象以保存Excel文件。

import xlsxwriter

创建一个Workbook对象

workbook = xlsxwriter.Workbook('xlsxwriter_excel_file.xlsx')

创建一个Worksheet对象

worksheet = workbook.add_worksheet()

写入数据到Worksheet对象

worksheet.write('A1', 'Name')

worksheet.write('B1', 'Age')

worksheet.write('C1', 'City')

data = [

['John', 28, 'New York'],

['Anna', 24, 'Paris'],

['Peter', 35, 'Berlin'],

['Linda', 32, 'London']

]

row = 1

for name, age, city in data:

worksheet.write(row, 0, name)

worksheet.write(row, 1, age)

worksheet.write(row, 2, city)

row += 1

关闭Workbook对象以保存Excel文件

workbook.close()

在上面的代码中,我们首先导入了XlsxWriter库,并创建了一个Workbook对象和一个Worksheet对象。然后,我们将数据写入Worksheet对象,并关闭Workbook对象以保存Excel文件。

3.1 多个工作表

有时我们需要将数据保存到多个工作表中。XlsxWriter库允许我们创建多个Worksheet对象,并将它们添加到Workbook对象中。

import xlsxwriter

创建一个Workbook对象

workbook = xlsxwriter.Workbook('xlsxwriter_multi_sheet.xlsx')

创建第一个Worksheet对象

worksheet1 = workbook.add_worksheet('Sheet1')

写入数据到第一个Worksheet对象

worksheet1.write('A1', 'Name')

worksheet1.write('B1', 'Age')

data1 = [

['John', 28],

['Anna', 24],

['Peter', 35],

['Linda', 32]

]

row = 1

for name, age in data1:

worksheet1.write(row, 0, name)

worksheet1.write(row, 1, age)

row += 1

创建第二个Worksheet对象

worksheet2 = workbook.add_worksheet('Sheet2')

写入数据到第二个Worksheet对象

worksheet2.write('A1', 'City')

worksheet2.write('B1', 'Country')

data2 = [

['New York', 'USA'],

['Paris', 'France'],

['Berlin', 'Germany'],

['London', 'UK']

]

row = 1

for city, country in data2:

worksheet2.write(row, 0, city)

worksheet2.write(row, 1, country)

row += 1

关闭Workbook对象以保存Excel文件

workbook.close()

在上面的代码中,我们创建了两个Worksheet对象,并将它们分别保存到名为xlsxwriter_multi_sheet.xlsx的Excel文件的Sheet1和Sheet2工作表中。

3.2 格式设置

XlsxWriter库还允许我们在保存Excel文件时设置格式。例如,我们可以设置单元格格式、添加图表等。

import xlsxwriter

创建一个Workbook对象

workbook = xlsxwriter.Workbook('xlsxwriter_formatted.xlsx')

创建一个Worksheet对象

worksheet = workbook.add_worksheet()

写入数据到Worksheet对象

worksheet.write('A1', 'Name')

worksheet.write('B1', 'Age')

worksheet.write('C1', 'City')

data = [

['John', 28, 'New York'],

['Anna', 24, 'Paris'],

['Peter', 35, 'Berlin'],

['Linda', 32, 'London']

]

row = 1

for name, age, city in data:

worksheet.write(row, 0, name)

worksheet.write(row, 1, age)

worksheet.write(row, 2, city)

row += 1

设置单元格格式

bold = workbook.add_format({'bold': True})

worksheet.write('A1', 'Name', bold)

worksheet.write('B1', 'Age', bold)

worksheet.write('C1', 'City', bold)

添加图表

chart = workbook.add_chart({'type': 'column'})

chart.add_series({

'name': 'Age',

'categories': ['Sheet1', 1, 0, 4, 0],

'values': ['Sheet1', 1, 1, 4, 1],

})

worksheet.insert_chart('E5', chart)

关闭Workbook对象以保存Excel文件

workbook.close()

在上面的代码中,我们使用了XlsxWriter库的add_format方法来设置单元格格式,并添加了一个柱状图到Excel文件中。

以上是使用Python保存Excel新建表的三种常见方法:Pandas库、Openpyxl库和XlsxWriter库。每种方法都有其独特的优势和适用场景,选择哪种方法取决于具体需求和偏好。通过这些示例代码,您可以轻松地将数据保存到Excel文件中,并根据需要设置格式和添加图表。

相关问答FAQs:

如何使用Python创建新的Excel表格并保存?
使用Python创建新的Excel表格通常可以通过pandas库或openpyxl库实现。首先需要安装相关库,例如使用pip install pandas openpyxl。之后,可以使用pandasDataFrame对象创建数据,并使用to_excel()方法将其保存为Excel文件。示例代码如下:

import pandas as pd

data = {'列名1': [1, 2, 3], '列名2': [4, 5, 6]}
df = pd.DataFrame(data)
df.to_excel('新建表.xlsx', index=False)

保存Excel文件时可以选择哪些文件格式?
在使用to_excel()方法时,可以指定文件名后缀为.xlsx.xls,这两种格式是Excel的标准格式。此外,可以通过设置engine参数选择不同的引擎,例如使用openpyxl引擎可以处理.xlsx格式,而使用xlrd可以处理旧版的.xls格式。

如何在创建Excel表格时添加多个工作表?
如果需要在同一个Excel文件中创建多个工作表,可以使用pandasExcelWriter类。通过指定不同的工作表名称,可以将多个DataFrame写入同一个文件中。示例代码如下:

with pd.ExcelWriter('多工作表.xlsx') as writer:
    df1.to_excel(writer, sheet_name='工作表1', index=False)
    df2.to_excel(writer, sheet_name='工作表2', index=False)

这种方式可以让用户在一个文件中组织和管理多个数据集。

相关文章