python获取表格内容,python从表格中读取数据
如何通过大蟒写入日期数据了?
写入还是很简单的。
导入xlwt3
将日期时间作为震颤性精神错乱(Delirium Tremens的缩写)导入
工作簿=xlwt .工作簿()
工作表=工作簿。添加工作表(工作表1 )
worksheet.write(0,0,dt.date.today())
workbook.save(test.xls )
查看一下,确实写入了,但变成了一个数字。怎么回事了,原来超过保存日期采用的是漂浮物类型保存。
查看工作表。写:
xlwt3 .工作表模块中方法编写的帮助:
xlwt3的write(self,r,c,label=b ,style=)方法。工作表。工作表实例
太简单了,标签是什么?
只能查看源码了:
def write(self,r,c,label=b ,style=style.default_style):
self.row(r).写(三、标签,样式)
继续挖掘:
def write(self,col,label,style=style.default_style):
自我. adjust_height(样式)
自我__adjust_bound_col_idx(col)
style_index=self .__parent_wb.add_style(style)
if isinstance(label,str):
如果len(标签)0:
self.insert_cell(col,
StrCell(self .__idx,col,style_index,self .__parent_wb.add_str(label))
)
否则:
self.insert_cell(col,BlankCell(self .__idx,col,style_index))
elif isinstance(标签,布尔):#布尔是(同Internationalorganizations)国际组织的子类;首先测试弯曲件
self.insert_cell(col,BooleanCell(self .__idx,col,style_index,label))
elif isinstance(label,(float,int,Decimal)):
self.insert_cell(col,NumberCell(self .__idx,col,style_index,label))
elif isinstance(标签,(日期时间,日期时间,时间时间)):
日期编号=自身__excel_date_dt(标签)
self.insert_cell(col,NumberCell(self .__idx,col,style_index,date_number))
否则如果标签为无:
self.insert_cell(col,BlankCell(self .__idx,col,style_index))
elif isinstance(标签,公式。公式):
自我_ _ parent _ WB。添加工作表引用(标签)
self.insert_cell(col,FormulaCell(self .__idx,col,style_index,label))
否则:
引发异常("意外的数据类型% r“%类型(标签)”)
原来:
elif isinstance(标签,(日期时间,日期时间,时间时间)):
日期编号=自身__excel_date_dt(标签)
self.insert_cell(col,NumberCell(self .__idx,col,style_index,date_number))
标签的数值,会先进行判断,然后进行处理。
这样,只需要设置一下风格就可以了!
dateFormat=xlwt .XFStyle()
日期格式。数字格式字符串=年/月/日
worksheet.write(0,0,dt.date.today(),dateFormat)
workbook.save(test.xls )
搞定。
注意一下:
大蟒的日期和超过的日期是不一样的。
实验一下:
今天()。toordinal()##2015年6月19日
735768
读取一下超过的数值了?
导入读操作
worksheetRead=xlrd。open _ workbook( test。xls’)
sheetRead=Rd.sheet_by_index(0)
sheetRead.cell(0,0).价值
42174
差别真不小!
为什么?
原来:python是从公元一年一月一日开始的天数转换的!
超过是从1899年12月31号开始的。
做一个函数转换一下即可:
__s_date=dt.date (1899,12,31).toordinal() - 1
定义获取日期(日期):
如果是实例(日期,浮点):
date=int(date)
d=日期from序数(__s_date日期)
返回d
好的,完毕!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。