读excel要用到xlrd模块,官网安装(http://pypi.python.org/pypi/xlrd)。然后就可以跟着里面的例子稍微试一下就知道怎么用了。大概的流程是这样的:1、导入模块 import xlrd 2、打开excel文件读取数据 data = xlrd.open_workbook('excel.xls')3、获取一个工作表 ① table = data.sheets()[0]通过...
python中怎么打开excel
# -*- coding: utf-8 -*-import xlrdimport xlwtfrom datetime import date,datetime def read_excel(): # 打开文件 workbook = xlrd.open_workbook(r'F:\demo.xlsx') # 获取所有sheet print workbook.sheet_names() # [u'sheet1', u'sheet2'] sheet2_name = workbook.sheet_names()[1] # 根据sheet索引或者名称获取sheet内容 sheet2 = workbook.sheet_by_index(1) # sheet索引从0开始 sheet2 = workbook.sheet_by_name('sheet2') # sheet的名称,行数,列数 print sheet2.name,sheet2.nrows,sheet2.ncols # 获取整行和整列的值(数组) rows = sheet2.row_values(3) # 获取第四行内容 cols = sheet2.col_values(2) # 获取第三列内容 print rows print cols # 获取单元格内容 print sheet2.cell(1,0).value.encode('utf-8') print sheet2.cell_value(1,0).encode('utf-8') print sheet2.row(1)[0].value.encode('utf-8') # 获取单元格内容的数据类型 print sheet2.cell(1,0).ctype if __name__ == '__main__': read_excel()有xlrd和xlwt两个包就可以操作excle文件了。
2016-11-25
读excel要用到xlrd模块,官网安装(
http://pypi.python.org/pypi/xlrd)。然后就可以跟着里面的例子稍微试一下就知道怎么用了。大概的流程是这样的:
1、导入模块
import
xlrd
2、打开excel文件读取数据
data
=
xlrd.open_workbook('excel.xls')
3、获取一个工作表
①
table
=
data.sheets()[0]
#通过索引顺序获取
②
table
=
data.sheet_by_index(0)
#通过索引顺序获取
③
table
=
data.sheet_by_name(u'sheet1')#通过名称获取
4、获取整行和整列的值(返回数组)
table.row_values(i)
table.col_values(i)
5、获取行数和列数
table.nrows
table.ncols
6、获取单元格
table.cell(0,0).value
table.cell(2,3).value
就我自己使用的时候觉得还是获取cell最有用,这就相当于是给了你一个二维数组,余下你就可以想怎么干就怎么干了。得益于这个十分好用的库代码很是简洁。但是还是有若干坑的存在导致话了一定时间探索。现在列出来供后人参考吧:
1、首先就是我的统计是根据姓名统计各个表中的信息的,但是调试发现不同的表中各个名字貌似不能够匹配,开始怀疑过编码问题,不过后来发现是因为 空格。因为在excel中输入的时候很可能会顺手在一些名字后面加上几个空格或是tab键,这样看起来没什么差别,但是程序处理的时候这就是两个完全 不同的串了。我的解决方法是给每个获取的字符串都加上strip()处理一下。效果良好
2、还是字符串的匹配,在判断某个单元格中的字符串(中文)是否等于我所给出的的时候发现无法匹配,并且各种unicode也不太奏效,百度过一些解决 方案,但是都比较复杂或是没用。最后我采用了一个比较变通的方式:直接从excel中获取我想要的值再进行比较,效果是不错就是通用行不太好,个 呢不能问题还没解决。
二、写excel表
写excel表要用到xlwt模块,官网下载(
http://pypi.python.org/pypi/xlwt)。大致使用流程如下:
1、导入模块
复制代码代码如下:
import
xlwt
2、创建workbook(其实就是excel,后来保存一下就行)
复制代码代码如下:
workbook
=
xlwt.workbook(encoding
=
'ascii')
3、创建表
复制代码代码如下:
worksheet
=
workbook.add_sheet('my
worksheet')
4、往单元格内写入内容
复制代码代码如下:
worksheet.write(0,
0,
label
=
'row
0,
column
0
value')
5、保存
复制代码代码如下:
workbook.save('excel_workbook.xls')2019-05-10