python 表格格式输出_用python判断Excel单元格格式为输出日期(日期字段位置不固定)的,按datetime格式输出日期(而非float)...

目前的逻辑:forsheetNameinwb.sheet_names():withopen(full_txt_name,mode='a')astxtFile:sheet=wb.sheet_by_name(sheetName)forrownuminrange(1,sheet.nrows):forcolnuminrange(0,s...

目前的逻辑:

for sheetName in wb.sheet_names():

with open(full_txt_name, mode='a') as txtFile:

sheet = wb.sheet_by_name(sheetName)

for rownum in range(1,sheet.nrows):

for colnum in range(0,sheet.ncols):

v1 = sheet.cell(rownum, colnum).value

if (type(v1) == float):

v1 = str(v1)

v1 = re.sub('\.0*$', "", v1)

txtFile.write(v1)

if colnum

txtFile.write('|')

else:

txtFile.write('\n')

txtFile.close()

效果:

Excel表中某字段展现为2016-6-14 17:35:00

转为txt后为42535.7326388889

需要,转为txt后为2016-6-14 17:35:00或20160614

虽然通过增加下列代码

from xlrd import xldate_as_tuple

from datetime import datetime

v1 = datetime(*xldate_as_tuple(v1,0))

能将浮点转成需要的日期,但是对于非数值字段,就会报错

invalid literal for int() with base 10:'anycharacter'

并且会误杀金额类float

不知道如何判断Excel格式,请大神指点,谢谢!

展开

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值