使用python+pandas读写xlsx格式中的数据

  • Post category:Python

当使用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数据两个方面,同时提供了更多参数的示例以帮助读者进行更深入的理解。