Python3.x学习笔记[3]通过Python来读写Excel

从网上学到很多东西,xlrd支持Python3.x,所以可以直接pip安装(至于PIP配置快捷方式和使用国内镜像加速下载以后和CX FREEZE以及SUBLIME TEXT3的配置一起发吧)。xlwt则不保持继续支持Python3,官网也看到了,不过从pypi上搜索可以发现,出来了一个专门给py3准备的xlwt-future,用法一模一样,下载下来就连名字都一样。。。

而2007往后版本的Excel多出来个xlsx文件类型,是为了使Excel能存入超过65535行数据(1048576),所以读写xlsx文件需要另一个库叫openpyxl,支持Python3.x


下面放上3个demo,省的看文档了


xlrd:


import xlrd
import re


wb = xlrd.open_workbook('1.xls') # 打开文件

sh = wb.sheet_by_name('考试成绩')


sh=wb.sheet_by_index(0)#第一个表

sheetNames = wb.sheet_names() # 查看包含的工作表

# 获得工作表的两种方法
sh = wb.sheet_by_index(0)
sh = wb.sheet_by_name(u'Sheet1')

# 单元格的值
cellA1 = sh.cell(0,0)
cellA1Value = cellA1.value



# 第一列的值
columnValueList = sh.col_values(0) 

xlwt:


import xlwt
import re


wbk = xlwt.Workbook()

sheet1 = wbk.add_sheet('sheet 1')

sheet1.write(0,1,'test text')
# 修改内容警告解决方式:使用cell_overwrite_ok=True来创建worksheet:
# sheet2 =  wbk.add_sheet('sheet 2', cell_overwrite_ok=True)
wbk.save('test.xls')

openpyxl读数据:


from openpyxl.reader.excel import load_workbook


wb = load_workbook('dd.xlsx')


sheetnames = wb.get_sheet_names()
ws = wb.get_sheet_by_name(sheetnames[0])

data_dic = {}    # 建立存储数据的字典     

#把数据存到字典中   
for  rx  in  range(ws.get_highest_row()):  
      
    temp_list = []  
    pid = ws.cell(row = rx,column = 0 ).value  
    w1 = ws.cell(row = rx,column = 1 ).value  
    w2 = ws.cell(row = rx,column = 2 ).value  
    w3 = ws.cell(row = rx,column = 3 ).value  
    w4 = ws.cell(row = rx,column = 4 ).value  
    temp_list = [w1,w2,w3,w4]  
     
    data_dic[pid] = temp_list  
  
#打印字典数据个数   
print   (data_dic[10124020117])   


其他内容看http://blog.csdn.net/suofiya2008/article/details/6284208吧。。


你可能感兴趣的:(Python3.x学习笔记)