Python pandas如何向excel添加数据

  • Post category:Python

当使用Python进行数据分析时,往往需要将处理好的数据保存到Excel表格中,因此了解如何向Excel表格添加数据是非常重要的。Python的pandas库提供了非常便捷的方法,下面是一些向Excel添加数据的完整实例教程。

前置条件

在开始添加数据到Excel文件之前,需要先安装pandas库,同时需要安装openpyxl库以便在pandas中使用Excel写入功能。

可以在命令行中使用以下代码来安装它们:

pip install pandas openpyxl

示例一:将DataFrame写入Excel文件

假设我们有一个DataFrame,数据如下:

import pandas as pd

data = {
    '姓名': ['张三', '李四', '王五'],
    '国籍': ['中国', '中国', '中国'],
    '年龄': [18, 22, 20]
}

df = pd.DataFrame(data)

现在我们想把这个DataFrame写到一个Excel文件中,可以使用以下代码:

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

to_excel是pandas中用于将DataFrame写入Excel文件的函数,第一个参数是文件名,第二个参数index=False表示不将DataFrame的索引写入到Excel中。

如果要将DataFrame写入一个已存在的Excel文件中,则可以使用以下代码:

with pd.ExcelWriter('data.xlsx', mode='a') as writer:
    df.to_excel(writer, sheet_name='Sheet1', index=False)

ExcelWriter是openpyxl库提供的写入Excel文件的类,它接受一个文件名参数和mode参数,mode=’a’表示在已有文件的基础上添加新的sheet。

to_excel函数还有许多其他的参数可以指定,例如sheet_name用于指定sheet的名称、startrow、startcol用于指定DataFrame的写入位置。

示例二:向Excel表格不同位置写入数据

如果要将数据写入到Excel表格不同位置,就需要使用openpyxl库来操作Excel表格了。

首先,我们需要导入openpyxl库:

import openpyxl

然后我们需要打开一个已存在的Excel文件并获取工作表:

workbook = openpyxl.load_workbook('data.xlsx')
sheet = workbook.active

这里打开了一个名为”data.xlsx”的Excel文件,并获取了它的活动工作表。

接下来,我们可以使用sheet的cell(row, column)方法来访问单元格,指定行和列的索引,就可以实现往不同位置写入数据。例如:

sheet.cell(1, 1, '姓名')
sheet.cell(1, 2, '国籍')
sheet.cell(1, 3, '年龄')

sheet.cell(2, 1, '张三')
sheet.cell(2, 2, '中国')
sheet.cell(2, 3, 18)

sheet.cell(3, 1, '李四')
sheet.cell(3, 2, '中国')
sheet.cell(3, 3, 22)

sheet.cell(4, 1, '王五')
sheet.cell(4, 2, '中国')
sheet.cell(4, 3, 20)

workbook.save('data.xlsx')

这段代码将表头以及数据逐个写入到Excel表格中。

还可以使用openpyxl的其他函数进行更加复杂的表格操作,例如merge_cells()方法合并单元格,row_dimensions()方法调整行高等。

总结:Pythonpandas向Excel添加数据主要就是利用pandas库将DataFrame写入Excel文件,其中to_excel函数提供了很多参数方便我们对写入的Excel文件进行配置。如果需要向不同位置写入数据,则需要使用openpyxl库进行操作,可以通过sheet的cell()方法来访问单元格,实现向Excel表格的不同位置写入数据。