python 读取excel表格_python读写Excel表格的实例代码

本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

安装两个库:pip install xlrd、pip install xlwt

1.python读excel——xlrd

2.python写excel——xlwt

1.读excel数据,包括日期等数据

coding=utf-8

import xlrd

import datetime

from datetime import date

def read_excel():

#打开文件

wb = xlrd.open_workbook(r'test.xlsx')

#获取所有sheet的名字

print(wb.sheet_names())

#获取第二个sheet的表明

sheet2 = wb.sheet_names()[1]

#sheet1索引从0开始,得到sheet1表的句柄

sheet1 = wb.sheet_by_index(0)

rowNum = sheet1.nrows

colNum = sheet1.ncols

#s = sheet1.cell(1,0).value.encode('utf-8')

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

#获取某一个位置的数据

# 1 ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

print(sheet1.cell(1,2).ctype)

print(s)

#print(s.decode('utf-8'))

#获取整行和整列的数据

#第二行数据

row2 = sheet1.row_values(1)

#第二列数据

cols2 = sheet1.col_values(2)

#python读取excel中单元格内容为日期的方式

#返回类型有5种

for i in range(rowNum):

if sheet1.cell(i,2).ctype == 3:

d = xlrd.xldate_as_tuple(sheet1.cell_value(i,2),wb.datemode)

print(date(*d[:3]),end='')

print('\n')

if __name__ == '__main__':

read_excel()~

2.往excel写入数据#coding=utf-8

import xlwt

设置表格样式

def set_stlye(name,height,bold=False):

#初始化样式

style = xlwt.XFStyle()

#创建字体

font = xlwt.Font()

font.bold = bold

font.colour_index = 4

font.height = height

font.name =name

style.font = font

return style

写入数据

def write_excel():

f = xlwt.Workbook()

#创建sheet1

sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True)

row0 = [u'业务',u'状态',u'北京',u'上海',u'广州',u'深圳',u'状态小计',u'合计']

sheet1MT5https://www.gendan5.com/mt5.html

column0 = [u'机票',u'船票',u'火车票',u'汽车票',u'其他']

status = [u'预定',u'出票',u'退票',u'业务小计']

for i in range(0,len(row0)):

sheet1.write(0,i,row0[i],set_stlye("Time New Roman",220,True))

i,j = 1,0

while i <4*len(column0): #控制循环:每次加4

#第一列

sheet1.write_merge(i,i+3,0,0,column0[j],set_stlye('Arial',220,True))

#最后一列

sheet1.write_merge(i,i+3,7,7)

i += 4

sheet1.write_merge(21,21,0,1,u'合计',set_stlye("Time New Roman",220,True))

i=0

while i<4*len(column0): #控制外层循环:每次加4

for j in range(0,len(status)): #控制内层循环:设置每一行内容

sheet1.write(i+j+1,1,status[j])

i += 4

#创建sheet2

sheet2 = f.add_sheet(u'sheet2',cell_overwrite_ok=True)

row0 = [u'姓名',u'年龄',u'出生日期',u'爱好',u'关系']

column0 = [u'UZI',u'Faker',u'大司马',u'PDD',u'冯提莫']

#生成第一行

for i in range(0,len(row0)):

sheet2.write(0,i,row0[i],set_stlye('Times New Roman',220,True))

#生成第一列

for i in range(0,len(column0)):

sheet2.write(i+1,0,column0[i],set_stlye('Times New Roman',220,True))

f.save('data.xls')

if __name__ == '__main__':

write_excel()~

coding=utf-8

import xlwt

设置表格样式

def set_stlye(name,height,bold=False):

#初始化样式

style = xlwt.XFStyle()

#创建字体

font = xlwt.Font()

font.bold = bold

font.colour_index = 4

font.height = height

font.name =name

style.font = font

return style

写入数据

def write_excel():

f = xlwt.Workbook()

#创建sheet1

sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True)

row0 = [u'业务',u'状态',u'北京',u'上海',u'广州',u'深圳',u'状态小计',u'合计']

column0 = [u'机票',u'船票',u'火车票',u'汽车票',u'其他']

status = [u'预定',u'出票',u'退票',u'业务小计']

for i in range(0,len(row0)):

sheet1.write(0,i,row0[i],set_stlye("Time New Roman",220,True))

i,j = 1,0

while i <4*len(column0): #控制循环:每次加4

#第一列

sheet1.write_merge(i,i+3,0,0,column0[j],set_stlye('Arial',220,True))

#最后一列

sheet1.write_merge(i,i+3,7,7)

i += 4

sheet1.write_merge(21,21,0,1,u'合计',set_stlye("Time New Roman",220,True))

i=0

while i<4*len(column0): #控制外层循环:每次加4

for j in range(0,len(status)): #控制内层循环:设置每一行内容

sheet1.write(i+j+1,1,status[j])

i += 4

#创建sheet2

sheet2 = f.add_sheet(u'sheet2',cell_overwrite_ok=True)

row0 = [u'姓名',u'年龄',u'出生日期',u'爱好',u'关系']

column0 = [u'UZI',u'Faker',u'大司马',u'PDD',u'冯提莫']

#生成第一行

for i in range(0,len(row0)):

sheet2.write(0,i,row0[i],set_stlye('Times New Roman',220,True))

#生成第一列

for i in range(0,len(column0)):

sheet2.write(i+1,0,column0[i],set_stlye('Times New Roman',220,True))

f.save('data.xls')

if __name__ == '__main__':

write_excel()~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值