# -*- 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+
Python实现Excel生成汇总直方图
最新推荐文章于 2021-12-03 00:15:00 发布
该博客介绍了如何使用Python生成包含weekday和demand随机数据的Excel,并通过group by操作进行每周每小时的数据聚合,进而绘制出移动5小时需求的直方图。过程中还涉及到坐标散点图的绘制。
摘要由CSDN通过智能技术生成