python xlwt xlrd 写入一行_Python Excel文件的读写操作(xlwt xlrd xlsxwriter)

Python语法简洁清晰,作为工作中常用的开发语言还是很强大的(废话)。

python关于Excel的操作提供了xlwt和xlrd两个的包作为针对Excel通用操作的支持,跨平台(Mac、Windows均可)。

xlrdxlrd目前支持读写xlsx(2007版)与xls(2003版),简单的说明如下:

import xlrd

def open_excel(file='test.xls'):

try:

data = xlrd.open_workbook(file)

# 通过索引获取工作表

sheet1 = data.sheets()[0]

# 通过名称获取工作表

sheet1 = data.sheet_by_name(u'sheet1')

# 获取table对象,根据table进行该工作表相关数据的读取

# 获取行列

row = sheet1.nrows

col = sheet1.ncols

# 获取单元格的值

cell_value = sheet1.cell(0, 1).value

# 行列表数据

for i in range(row):

print sheet1.row_values(i)

# 数据写入

# 单元格类型 0 empty,1 string, 2 number, 3 datetime, 4 boolean, 5 error

# xf 扩展格式化

xf = 0

row_num = 1

col_num = 1

cell_type = 1

sheet1.put_cell(row_num, col_num, cell_type, u'hello word', xf)

return data

except Exception, e:

print str(e)

xlwt则支持写出2003版xls的包,具体操作如示例如下:

import xlwt

def write_excel2():

# 设置通用样式变量

style_header = xlwt.easyxf(u'font: name 微软雅黑, color-index black, bold on,height 240')

workbook = xlwt.Workbook()

worksheet = workbook.add_sheet(u'sheet1')

# 设置第一列到单元格的宽度

worksheet.col(0).width = 256 * 35

# 设置该工作表单元格的宽度

c = 1

while c < 300:

worksheet.col(c).width = 256 * 20

c += 1

col = 0

# 循环设置表头值

header = [u'姓名', u'性别', u'年龄']

for h in header:

worksheet.write(0, col, h, style_header)

col += 1

# 保存到本地目录,mac上后缀xlsx会报错,xls正常。

workbook.save('test.xls')

xlsxwriter支持2007版的写出

import xlsxwriter #导入模块

workbook = xlsxwriter.Workbook('new_excel.xlsx') #新建excel表

worksheet = workbook.add_worksheet('sheet1') #新建sheet(sheet的名称为"sheet1")

headings = ['Number','testA','testB'] #设置表头

data = [

['2017-9-1','2017-9-2','2017-9-3','2017-9-4','2017-9-5','2017-9-6'],

[10,40,50,20,10,50],

[30,60,70,50,40,30],

] #自己造的数据

worksheet.write_row('A1',headings)

worksheet.write_column('A2',data[0])

worksheet.write_column('B2',data[1])

worksheet.write_column('C2',data[2]) #将数据插入到表格中

workbook.close() #将excel文件保存关闭,如果没有这一行运行代码会报错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值