Python 简单 操作 Excel

一、相关的库

  • xlrd:用来读 Excel,只能操作 .xls 格式
  • xlwt:用来写 Excel,只能操作 .xls 格式,超出 Excel 的单格内容长度上限 32767 就会报错
  • xlutils:结合 xlrd 可以修改 Excel 文件,格式也要是 .xls,但必须同时安装以上3个库
  • openpyxl:可以读写 Excel,针对 .xlsx 格式,无长度限制

二、xlrd

import xlrd
#打开excel
data = xlrd.open_workbook('demo.xls') #注意这里的workbook首字母是小写<br>
#查看文件中包含sheet的名称
data.sheet_names()<br>
#得到第一个工作表,或者通过索引顺序 或 工作表名称
table = data.sheets()[0]
table = data.sheet_by_index(0)
table = data.sheet_by_name(u'Sheet1')<br>
#获取行数和列数
nrows = table.nrows
ncols = table.ncols<br>
#获取整行和整列的值(数组)
table.row_values(i)
table.col_values(i)<br>
#循环行,得到索引的列表
for rownum in range(table.nrows):
print table.row_values(rownum)<br>
#单元格
cell_A1 = table.cell(0,0).value
cell_C4 = table.cell(2,3).value<br>
#分别使用行列索引
cell_A1 = table.row(0)[0].value
cell_A2 = table.col(1)[0].value

三、xlwt

import xlwt
 
#新建一个excel文件
file = xlwt.Workbook() #注意这里的Workbook首字母是大写
 
#新建一个sheet
table = file.add_sheet('sheet name')
 
#写入数据table.write(行,列,value)
table.write(0,0,'test')<br>
‘‘‘
如果对一个单元格重复操作,会引发
returns error:
Exception: Attempt to overwrite cell:
sheetname=u'sheet 1' rowx=0 colx=0
所以在打开时加cell_overwrite_ok=True解决
’’’
table = file.add_sheet('sheet name',cell_overwrite_ok=True)
 
#保存文件
file.save('demo.xls')<br>
#另外,使用style
style = xlwt.XFStyle() #初始化样式
 
font = xlwt.Font() #为样式创建字体
font.name = 'Times New Roman'
font.bold = True
style.font = font #为样式设置字体
table.write(0, 0, 'some bold Times text', style) # 使用样式

四、openpyxl

from openpyxl import Workbook
wb = Workbook()
  
#取得当前有效的work sheet
ws = wb.active
  
#直接根据位置进行赋值
ws['A1'] = 42
  
#也可以直接添加一行
ws.append([1, 2, 3])
  
#可以直接存储Python的时间类型变量
import datetime
ws['A2'] = datetime.datetime.now()
  
#保存文件
wb.save("sample.xlsx")
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值