素手烹茶|“蟒蛇”py对Excel的读取——数据操作用它,老板都得重新认识你( 二 )
read_xlrd(excelFile=excelFile)
结果如果在项目中使用则可将内容方法稍微做修改 , 获得所有的数据后 , 将每一行数据作为数组进行返回 。
# coding=utf-8
import xlrd
def read_xlrd(excelFile):
data = http://kandian.youth.cn/index/xlrd.open_workbook(excelFile)
table = data.sheet_by_index(0)
dataFile = []
for rowNum in range(table.nrows):
# if 去掉表头
if rowNum > 0:
dataFile.append(table.row_values(rowNum))
return dataFile
if __name__ == '__main__':
excelFile = 'file/demo.xlsx'
print(read_xlrd(excelFile=excelFile))
结果:
学员实例分享:最近需要从多个excel表里面用各种方式整理一些数据 , 虽然说原来用过java做这类事情 , 但是由于最近在学python , 所以当然就决定用python尝试一下了 。 发现python果然简洁很多 。 这里简单记录一下 。
一、读Excel表1、导入模块
import xlrd
2、打开Excel文件读取数据
data = http://kandian.youth.cn/index/xlrd.open_workbook('excel.xls')
3、获取一个工作表
1 table = data.sheets()[0] #通过索引顺序获取
2 table = data.sheet_by_index(0) #通过索引顺序获取
3 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模块 , 官网下载() 。 大致使用流程如下:
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')
由于我的需求比较简单 , 所以这上面没遇到什么问题 , 唯一的就是建议还是用ascii编码 , 不然可能会有一些诡异的现象 。
推荐阅读
- 素手烹茶|Redis 事务也叫事务吗?,不支持原子性的
- 素手烹茶|中芯或被“拉黑”要求退出群聊,这是机遇还是无奈?
- 素手烹茶|尘封23年的运钞车劫案告破:嫌犯在部队服役时作案,转业后两获三等功成法官
- 素手烹茶|你知道马云被救了3次吗?
- 素手烹茶|我的电商故事:新手投资25万开天猫店,半年时间赚了100w
- 素手烹茶|- 高性能低损耗的 Goroutine 池,Ants
- 素手烹茶|腾讯微博将于9月28日停止运营;阿里国内消费者已接近10亿;信通院:5年里5G商用可直接带动信息消费8.2万亿元|Do早报
- 素手烹茶|Ants - 高性能低损耗的 Goroutine 池
- 素手烹茶|为什么人们不愿意在通信上花钱?因为运营商不配为之付出更多
- 澳洲|澳洲男子回家发现屋顶破洞,上面掉下2条蟒蛇,平时生活毫无察觉
