Python 读写Excel文件 总结

Python 读写Excel文件 总结

最近接连帮同学处理Excel表格,他们的出发点就是,数据项太多导致手动处理工作量太大了,寻求能不能用软件自动化处理的办法。其实利用Python编写十行左右代码就能解决相应的重复简单的工作,由于我总是记不清相关库,在这里详细总结各种库和函数接口以方便自己查阅和帮助大家高效完成工作。

Excel是什么

我们常用的Excel是由微软开发的电子表格办公软件,其所创建的文件显示为一系列行与列组成的网格。

Excel文件的后缀名通常有以下几种形式:

  1. xlsx Excel2007 - 目前最新版默认的文件格式,不能有宏
  2. xls Excel97 - 2003版的文件格式,可以有宏
  3. csv 以逗号分隔的文本文件(Comma-Separated Values)

在Excel中还能以纯文本形式(使用Tab分隔)或PDF格式保存,这种存储格式会导致表格数据失去通用性,在此不作说明。

使用xlrd、xlwt模块读写Excel文件

xlrd是一个读取Excel文件的Python模块(A Python module for extracting data from MS Excel (TM) spreadsheet files.)

首先要掌握的是open_workbook方法,查看源码可见其参数非常复杂,通常只需要传入文件名参数即可,返回一个Book对象。

filename = 'myfile.xls'

readxls = xlrd.open_workbook(filename)

Excel打开后可能会有多个电子表(sheet),成员方法sheets返回打开的book内全部电子表组成的列表。

获取第一个电子表。

sheet1 = readxls.sheets()[0]

# sheet_by_index 按下标返回电子表
# sheet1 = readxls.sheet_by_index(0)

# sheet_by_name 按表名返回电子表
# sheet1 = readxls.sheet_by_name('Sheet1')

对电子表遍历

# 获取电子表行数
nrows = sheet1.nrows
ncols = sheet1.ncols

# 按行遍历
for i in range(nrows):
    # rowList为字符串组成的列表
​   rowList = sheet1.row_values(i)

# 按列遍历
for i in range(ncols):
    colList = sheet1.col_values(i)

猜你喜欢

转载自www.cnblogs.com/izcat/p/12324023.html