700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python读取excel表格 并将读取的数据写入到新的excel表格中

python读取excel表格 并将读取的数据写入到新的excel表格中

时间:2019-02-21 01:48:17

相关推荐

python读取excel表格 并将读取的数据写入到新的excel表格中

遇到的从excel读取日期时变为浮点数的解决办法

首先回顾一下读取数据以及写入数据。

import xlrdimport xlwtdatas=xlrd.open_workbook('policy.xlsx')#打开一个名字为【policy.xlsx】的excel文件table=datas.sheets()[0]#通过下标取不同的sheet表#table=datas.sheet_by_name('sheet1')#或者通过sheet标的名字去选择具体的表sheet_name=datas.sheet_names()#找出所有的表名nrows=table.nrows#其中一个sheet表中所有的行数ncols=table.ncols#其中一个sheet表中所有的列数#向excel表格写入数据,先打开一个表格,插入数据,最后保存wb=xlwt.Workbook()#打开一个excel文件,注意这里的Workbook,第一个W是大写ws=wb.add_sheet('表格名字')#新增一个表格,也可以理解为给表格起一个名字for rownum in range(1,nrows):#循环取值遍历文件中的最大行数,这里从1开始是为了下方的插入row=table.row_values(rownum)#通过指定行数取出每一行的值policy_num=str(row[0])#第一列信息为保单号name=str(row[1])#第二列信息为姓名#birth_date=str(row[3])#第四列信息为出生日期#这里出生日期如果使用这个代码,那么将会得到一个字符串,不会显示excel表格中的日期birth_date=xlrd.xldate_as_datetime(table.cell(rownum,3).value,0)#xlrd.xldate_as_tuple(table.cell(1,3).value,0) 是#这里直接从excel中的日期直接转化为日期,不过它是这样的。如果你本来的日期是1985/8/24,#那么birth_date结果为1985-08-24 00:00:00,如果你不想要时分秒,你可以这样做。birth_date1=str(birth_date)#把这个结果转化为字符串birth_date2=birth_date1[0:10]#然后进行切割,就会得到1985-08-24#接下来进行插入我们上面打开的excel文件中ws.write(rownum,0,label=policy_num)ws.write(rownum,1,label=name)ws.write(rownum,2,label=birth_date2)#这里rownum是变量,代表行,后面的数字代表列ws.col(0).width = 256*20#给第一列设置宽度,也可以全部写数字如:5120wb.save('example.xlsx')#最后进行保存

解决这个问题就是把从excel中读取的日期进行转换,因为它直接得到的是浮点数。

还可以通过列值或者坐标进行取值。

a=table.row_values(0)#取第一行值b=table.col_values(0)#取第一列值c=table.cell(1,1).value#取第二行第二列的值

在excel中插入当前时间

使用到了datetime库,并且使用的时候需要先定义好插入的格式。

import xlwt#引用xlwt库from datetime import *#引用datetime中的所有函数style=xlwt.XFStyle()#style代表excel中的所有格式style.num_format_str='YYYY-MM-DD'#设置style代表的格式为年月日wb=xlwt.Workbook()ws=wb.add_sheet('sheetname')ws.write(0,0,datetime.now(),style)#在excel中的‘sheetname’表写入当前时间,格式为年月日wb.save('example2.xlsx')#保存文件#打开文件时,写入的内容显示的是######,这是因为单元格太小,拉大就可以显示日期了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。