当使用Python进行数据分析时,经常需要从表格文件中导入数据,如Excel中的数据。本篇文章将介绍如何使用Python和pandas包从Excel文件中读取数据并进行操作。
安装pandas包
首先需要安装pandas包,安装命令如下:
pip install pandas
读取Excel数据
在pandas中,使用read_excel()
函数读取Excel数据。
import pandas as pd
# 读取文件
df = pd.read_excel('example.xlsx')
# 打印数据
print(df)
在这个例子中,使用了read_excel()
函数读取example.xlsx
文件。该函数可选参数很多,其中比较有用的有:sheet_name、header等。这些参数将在后续的例子中进行介绍。
写入Excel数据
要使用Python写入Excel文件,必须安装openpyxl
包。安装命令如下:
pip install openpyxl
在pandas中,使用to_excel()
函数将数据写入Excel文件。
import pandas as pd
# 创建待写入的数据
data = {'Name': ['Tom', 'Jerry', 'Mike', 'Lucy'],
'Age': [20, 21, 22, 19]}
# 创建数据框
df = pd.DataFrame(data)
# 输出数据框
print (df)
# 将数据写入文件
df.to_excel('example.xlsx', index=False)
在这个例子中,首先创建了一个字典数据(dict),然后将字典数据转换为数据框(DataFrame)。接着,使用to_excel()
函数将数据写入example.xlsx
文件。index=False
表示写入Excel文件时不将行号写入其中。
更多参数
read_excel()/to_excel()函数有很多可选参数,如下所示:
read_excel()函数参数
io
:Excel文件名或IO对象。sheet_name
:指定要读取的工作表名称或工作表在Excel文件中的位置。header
:指定哪行被用作列名。默认值为0(第一行)。index_col
:设定哪列为行索引。usecols
:设定读取哪些列。skiprows
:跳过的行数。skipfooter
:跳过末尾的行数。nrows
:读取的行数。parse_dates
:是否解析日期。date_parser
:用于解析日期的函数。
to_excel()函数参数
excel_writer
:要写入的Excel文件名或IO对象。sheet_name
:指定要写入的工作表名称。header
:是否指定行索引作为列名。默认为True,表示使用行索引作为列名称(除非columns
参数被指定);如果设置为False,则不会写入列名。index
:是否将行索引写入文件。默认为True。float_format
:写入到Excel文件的浮点数的格式。freeze_panes
:冻结窗格。参照openpyxl官方文档。
示例
读取Excel数据的示例:
import pandas as pd
# 读取Excel数据(指定sheet_name、header、usecols、skiprows参数)
df = pd.read_excel('example.xlsx', sheet_name='Sheet1', header=1, usecols='A:B', skiprows=2)
# 输出数据
print (df)
在这个例子中,sheet_name
参数指定读取的工作表名称;header
指定哪行用作列名;usecols
指定要读取的列;skiprows
指定要跳过的行数。
写入Excel数据的示例:
import pandas as pd
# 创建待写入的数据
data = {'Name': ['Tom', 'Jerry', 'Mike', 'Lucy'],
'Age': [20, 21, 22, 19]}
# 创建数据框
df = pd.DataFrame(data)
# 将数据写入Excel文件(指定sheet_name、header参数)
df.to_excel('example.xlsx', sheet_name='Sheet1', header=False, index=False)
在这个例子中,sheet_name
参数指定写入的工作表名称;header
参数指定是否使用行索引作为列名称。
以上便是使用Python+pandas读写xlsx格式中的数据的完整实例教程,其中包含读取Excel数据和写入Excel数据两个方面,同时提供了更多参数的示例以帮助读者进行更深入的理解。