Python实现Excel生成汇总直方图

该博客介绍了如何使用Python生成包含weekday和demand随机数据的Excel,并通过group by操作进行每周每小时的数据聚合,进而绘制出移动5小时需求的直方图。过程中还涉及到坐标散点图的绘制。
摘要由CSDN通过智能技术生成
# -*- coding: utf-8 -*-
import geohash as geohash
import xlwt  # 写入excel文件的库
import xlrd  #读取Excel
import  time
import  datetime
import geohash  #把经纬度转换为geohash
import random
start_time=datetime.datetime.now()
hang=0
lie=0
#以下为读取Excel
myWorkbook = xlrd.open_workbook('001.xls')
mySheets = myWorkbook.sheets()#获取工作表list。
table=myWorkbook.sheets()[0] #获取表的总行数
mySheets_rows=table.nrows
print(mySheets_rows)
#mySheets_rows为获取"sales"工作表中的总行数
mySheet = mySheets[0]  # 通过索引顺序获取。
#table.cell(rowx, colx)
#以下为写入Excel
myWorkbook2 = xlwt.Workbook() #创建Excel工作表
mySheet2 = myWorkbook2.add_sheet('Test_Sheet') #添加Excel工作表,mySheet2为新建Excel
while hang<mySheets_rows: #只要没有最后一行
    myRowValues = mySheet.row_values(hang)  #lie是行数,从0开始计数,返回list对象。
    geoGps = geohash.encode(float(myRowValues[4]), float(myRowValues[3]), precision=6)  # 第4列和第5列为经纬度
    # data = geohash.encode(116.255421,40.201209,precision=7),输出uzuxfzc
    startTime = datetime.datetime.fromtimestamp(float(myRowValues[1]))
    #把Unix时间戳转换为正常时间
    endTime = datetime.datetime.fromtimestamp(float(myRowValues[2]))
    for i in range(len(myRowValues)):
        mySheet2.write(hang, lie, myRowValues[i])
        lie+=1
    mySheet2.write(hang, lie, geoGps) #最后一列插入geohash6
    mySheet2.write(hang, lie+1, startTime) #最后一列插入startTime
    mySheet2.write(hang, lie+2, startTime.weekday()) #最后一列插入startTime的星期几
    mySheet2.write(hang, lie+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值