1、Python读写Excel文件
Python读写Excel文件可以做以下操作:
使用openpyxl模块读写XLSX格式文件
使用xlrd模块读写XLS格式的文件
使用xlwt模块生成XLS格式的文件
Excel 文件有两种格式,分别对应 .xls 和 .xlsx 两种扩展名(XLS 格式和 XLSX 格式)。前者使用 97-2003 模板,是早期的文件格式,现在已经逐渐被后者所淘汰,但仍然会遇到 XLS 格式的数据文件需要处理。
openpyxl 模块专门用于读写 XLSX 格式的文件,xlrd 模块和 xlwt 模块则专门用于读写 XLS 格式的数据文件。这 3 个模块都可以使用 pip 命令安装。如果不需要处理 XLS 格式的数据文件,那么只需要安装 openpyxl 模块就可以了。
下面的代码演示了如何使用 openpyxl 模块编辑 XLSX 格式的 Excel 文件。
>>> from openpyxl import load_workbook
>>> wb = load_workbook(r"D:\NumPyFamily\data\ionosphere.xlsx")
>>> wb.sheetnames
['电离层']
>>> sh = wb["电离层"] # 选择表
>>> sh.max_row # 有效行数
351
>>> sh.max_column # 有效列数
34
>>> sh['C1'] # 返回C1单元格对象
>>> sh['C1'].value # 返回C1单元格内容
0.99539
>>> sh[1][2].value # 也可以这样指定单元格
0.99539
>>> sh['C1'].value = 99.99 # 修改单元格内容
>>> wb.save(r"D:\NumPyFamily\data\ionosphere_demo.xlsx") # 保存文件
下面的代码演示了如何使用 openpyxl 模块创建 XLSX 格式的 Excel 文件。
>>> from openpyxl import Workbook
>>> wb = Workbook() # 创建book
>>> sh0 = wb.active # 激活默认的sheet
>>> sha = wb.create_sheet("成绩表") # 创建新表
>>> shb = wb.create_sheet("收支表") # 创建新表
>>> sha.append(['姓名','语文','数学']) # 可以在末尾追加一行
>>> sha.append(['Alice',95,99])
>>> sha['B2'] = 98 # 也可以单独写单元格
>>> wb.sheetnames # 显示全部表名
['Sheet', '成绩表', '收支表']
>>> del wb['Sheet'] # 删除表
>>> wb.save(r"D:\NumPyFamily\data\demo.xlsx") # 保存文件
2、使用 xlrd 模块读写 XLS 格式的文件
使用 xlrd 模块读写 Excel 文件的方法与使用 openpyxl 模块读写 Excel 文件非常类似。用 xlrd 模块打开一个 Excel 文件,返回的是一个 book 对象;使用 sheet 名或序号从 book 的数据表中选择一个 sheet,即可从中读取数据。
下面的代码演示了使用 xlrd 模块从 Excel 文件中读取数据的方法。
>>> import xlrd
>>> book = xlrd.open_workbook(r"D:\NumPyFamily\data\ionosphere.xls")
>>> book.sheet_names() # 获取全部表名
['电离层']
>>> sh = book.sheet_by_name('电离层') # 通过表名取得sheet对象
>>> sh = book.sheet_by_index(0) # 通过索引取得sheet对象
>>> sh.nrows # 有效行数
351
>>> sh.ncols # 有效列数
34
>>> sh.row_values(3, start_colx=3, end_colx=8) # 读取第3行的第3列到第8列的值 [-0.45161, 1.0, 1.0, 0.71216, -1.0]
>>> sh.col_values(2, start_rowx=3, end_rowx=10) # 读取第2列的第3行到第10行的值 [1.0, 1.0, 0.02337, 0.97588, 0.0, 0.96355, -0.01864]
>>> sh.cell_value(3,4) # 返回第3行第4列的值
1.0
3.使用 xlwt 模块生成 XLS 格式的文件
使用 xlwt 模块只能生成新的 Excel 文件,不能对已有的 Excel 文件进行编辑。其使用方法与使用 xlrd 读取 Excel 文件有点类似,首先创建一个 book 对象,然后添加 sheet,并对 sheet 做写入操作。另外,xlwt 模块还提供了单元格、字体、边框等样式的设置方法。
当然,还可以利用 Python 读写其它格式的文件,例如HDF文件、CSV文件等,具体内容可参见《Python 高手修炼之道 数据处理与机器学习实战》。
以上就是简单数据文件读写的具体操作啦,无论是小白练手,还是白领办公都非常适用。