python数据可视化_python中datetime用法

python数据可视化_python中datetime用法xiao.77如何通过Python写入date数据了?写入还是很简单的。importxlwt3importdatetimeasdtworkbook=xlwt.Workbook()worksheet=workbook.add_sheet(‘sheet1’)worksheet.write(0,0,dt.date.today())workbook.save(‘test.xls’)查…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

xiao.77

如何通过Python写入date数据了?

写入还是很简单的。

import xlwt3

import  datetime as dt

workbook = xlwt.Workbook()

worksheet = workbook.add_sheet(‘sheet1’)

worksheet.write(0, 0, dt.date.today())

workbook.save(‘test.xls’)

查看一下,确实写入了,但变成了一个数字。怎么回事了,原来excel保存日期采用的是float类型保存。

查看worksheet.write:

Help on method write in module xlwt3.worksheet:

write(self, r, c, label=b”, style=) method of xlwt3

.worksheet.Worksheet instance

太简单了,label是什么?

只能查看源码了:

def write(self, r, c, label=b””, style=style.default_style):

self.row(r).write(c, label, style)

继续挖掘:

def write(self, col, label, style=style.default_style):

self.__adjust_height(style)

self.__adjust_bound_col_idx(col)

style_index = self.__parent_wb.add_style(style)

if isinstance(label, str):

if len(label) > 0:

self.insert_cell(col,

StrCell(self.__idx, col, style_index, self.__parent_wb.add_str(label))

)

else:

self.insert_cell(col, BlankCell(self.__idx, col, style_index))

elif isinstance(label, bool): # bool is subclass of int; test bool first

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(label, (dt.datetime, dt.date, dt.time)):

date_number = self.__excel_date_dt(label)

self.insert_cell(col, NumberCell(self.__idx, col, style_index, date_number))

elif label is None:

self.insert_cell(col, BlankCell(self.__idx, col, style_index))

elif isinstance(label, formula.Formula):

self.__parent_wb.add_sheet_reference(label)

self.insert_cell(col, FormulaCell(self.__idx, col, style_index, label))

else:

raise Exception(“unexpected data type %r” % type(label))

原来:

elif isinstance(label, (dt.datetime, dt.date, dt.time)):

date_number = self.__excel_date_dt(label)

self.insert_cell(col, NumberCell(self.__idx, col, style_index, date_number))

label的数值,会先进行判断,然后进行处理。

这样,只需要设置一下style就可以了!

dateFormat = xlwt.XFStyle()

dateFormat.num_format_str = ‘yyyy/mm/dd’

worksheet.write(0, 0, dt.date.today(),dateFormat)

workbook.save(‘test.xls’)

搞定。

注意一下:

python的date 和excel的date是不一样的。

实验一下:

dt.date.today().toordinal()##2015/6/19

735768

读取一下excel的数值了?

import xlrd

worksheetRead = xlrd.open_workbook(‘test.xls’)

sheetRead=Rd.sheet_by_index(0)

sheetRead.cell(0,0).value

42174

差别真不小!!

WHY?

原来:python是从公元1年1月1日开始的天数转换 的!

excel是从1899年12月 31号开始的。

做一个函数转换一下即可:

__s_date = dt.date (1899, 12, 31).toordinal() – 1

def getdate(date ):

if isinstance(date , float ):

date = int(date )

d = dt.date .fromordinal(__s_date + date )

return d

ok,over!!

文章最后发布于: 2015-06-19 17:03:45

相关阅读

本文主要介绍C++中的string类的常见用法。

1. 概述

string是C++标准库的一个重要的部分,主要用于字符串处理。可以使用输入输出流

近期很多博友找我咨询问题,我将更新的代码写在最后,由于精力有限只更新单线程版

首先声明,本博文为我原创,但是我在看了 崔庆才 博主

在本次学习中主要爬取的内容如下就简单粗暴直接献上代码吧import requests

import time

import json

from bs4 import BeautifulS

我们经常会面临要从数据库里判断时间,取出特定日期的查询。但是数据库里储存的都是unix时间戳,处理起来并不是特别友好。幸而MYSQL

节能行业中科宇杰在留学生招聘会上成了“香饽饽”记者从2019留学归国人员专场招聘会现场了,看见排起长龙关注国内知名节

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185164.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月6日 下午9:00
下一篇 2022年10月6日 下午9:16


相关推荐

  • seaweedfs部署及使用(兼容Hadoop)

    seaweedfs部署及使用(兼容Hadoop)软件版本 软件版本压缩包包名 seaweedfssea 1 11linux amd64 tar gzGitHub https github com chrislusf seaweedfs 相关定义说明 定义名称说明 master 提供 volume gt location 位置映射服务和文件 id 的序列号 Node 系统抽象的

    2026年3月17日
    2
  • MIPI协议及应用

    MIPI协议及应用MobileIndustryProcessorInterfaceMIPIMIPIMobileIndustryProcessorInterface简称MIPI;MIPI(移动产业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准和一个规范。TheMIPI®AllianceMIPI联盟成立于2003年,是移动行业发展的关键时刻。当时供应商预见了智能多媒体手机令…

    2022年5月1日
    137
  • JavaScript格式化数字

    JavaScript格式化数字格式化数字 小数点前每三位添加逗号 小数点后不改变介绍两种常用的格式化数字的方法 字符串方法 字符串 replace 正则表达式 functiontoTh item varitem0 item toString vardot if item0 indexOf 1 do

    2026年3月18日
    2
  • ipsec iptables_iptables -p

    ipsec iptables_iptables -piptablesiptables[-t表名]命令选项[链名][条件匹配][-j目标动作或跳转]-t表名可以省略,指定规则存放在哪个表中,默认为filter表用于存放相同功能的规则filter表:负责过滤功能能,nat表:网络地址转换功能mangle表:拆解报文做出修改并重新封装的功能raw表:关闭nat表上启用的连接追踪机制命令选项-A在…

    2022年10月7日
    5
  • 线程的状态及阻塞

    线程的状态及阻塞之前提到了线程和进程 那就提一下线程的状态吧 线程状态通常分为五种 注意 阻塞被消除后回到就绪状态 不是运行状态温馨提示 大家可以通过 getState 来获取线程当前的状态 NEW RUNNABLE BLOCKED WAITING TIMED WAITING TERMINATED 想要了解更多的线程知识 可以看看我写的上一篇线程与进程

    2026年3月19日
    2
  • js中bind的用法_bind into

    js中bind的用法_bind intoJS中的bind的实现以及使用

    2022年4月21日
    80

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号