无人机数据处理高高

import random

from openpyxl import Workbook,load_workbook
from decimal import Decimal

from datetime import timedelta

def timedelta_to_minutes_seconds(td):
mins, secs = divmod(td.seconds, 60)
hours, mins = divmod(mins, 60)
return hours, mins, secs
import time,datetime
tn = datetime.datetime.now()
t =datetime.timedelta(days=10)
t_hours =datetime.timedelta(hours=5)
t_min = datetime.timedelta(minutes=3)
strtime =tn -t -t_hours
str_time_min =tn + t_min
ttime = strtime.strftime('%Y-%m-%d %H:%M:%S')
ttime_last = str_time_min.strftime(' %H:%M:%S')
print(ttime)
print(ttime_last)
time_dest = ttime + ttime_last
print(time_dest)

wb =Workbook()

wb = load_workbook("D:\django\bypy_home\2024-03-14-17-15-59-飞行记录.xlsx")
ws= wb.active

rows= ws.max_row
alist= [6.5] *(rows-1)

使用变量长度表格行数

alen =ws.max_row-1
print("要写如数据的长度",alen,"\n")
def create_random_list():
yu_shu = alen %2
print(yu_shu)
if yu_shu == 1:
print("奇数")
i=0
for i in range(0,alen):
suijishu = random.randint(10, 40) * 0.01
print(suijishu, "ooo")
alist[i] =alist[i]+suijishu
alist[i] = round(alist[i], 2)

alist[i+1]=alist[i+1]-suijishu
alist[i+1] = round(alist[i+1], 2)
# 保留两位小数
# number = Decimal(alist[i])
# alist[i] = number.quantize(2)
#
# number1 = Decimal(alist[i+1])
# alist[i+1] = number1.quantize(2)
i +=2
if i >=alen-3:
break
else:
print("说明是数列奇数行")
j = 0
for j in range(0,alen):
suijishu = random.randint(10, 40) * 0.01
print(suijishu, "ooo")
if j >(alen -2):
break
alist[j] = alist[j] + suijishu
alist[j] = round(alist[j],3)

alist[j + 1] = alist[j+1] - suijishu
alist[j+1] = round(alist[j+1], 3)

j += 2

create_random_list()
def sum_area():
ksum=0
for i in alist:
ksum +=i
print("总面积是",ksum)
print(alist)
sum_area()

定位开始时间

data_start_time =strtime
delta_kaishi = datetime.timedelta(hours=1)
delta_kaishi_min = datetime.timedelta(minutes=3)

delta_kaishi_second = datetime.timedelta(seconds=random.randint(10,59))

delta_kaishi_second_free = datetime.timedelta(seconds=random.randint(62,120))

strtime = strtime - delta_kaishi
for k in range(2,rows+1):
#前缀
ttime_first = strtime.strftime('%Y-%m-%d %H:%M:%S')
ttime_xunhuankaishi =strtime
# print(ttime_first)

后3分钟时间

strtime = strtime+delta_kaishi_min
strtime = strtime + datetime.timedelta(seconds=random.randint(10,59))

tt_last_deerta =strtime
ttime_last=strtime.strftime(' %H:%M:%S')
#中途休息120s分钟
strtime = strtime + datetime.timedelta(seconds=random.randint(62,120))
diyihang_diyilie_cell=ws.cell(k,1)
shengcheng_shifenmiao = ttime_first+" " +ttime_last
ws.cell(k,1,shengcheng_shifenmiao)
# print(diyihang_diyilie_cell.value)#
##开始写入面积数据
cell_5=ws.cell(k,5)
cell_6 = ws.cell(k, 6)
#修改飞行时间
cell_7 = ws.cell(k, 7)

arrae =alist[k-2]
cell_5.value =arrae
cell_6.value = (alist[k-2] )*7.5
D_s=(tt_last_deerta - ttime_xunhuankaishi).total_seconds()
cell_7.value= str(timedelta(seconds=D_s))[-5:]
# print(cell_6.value,9999999999)

strtime =strtime +datetime.timedelta(seconds=random.randint(62,120))
# ws.cell(k, 6, arrae * 7.5)

# print(ttime,"kkk")

v=cell.value

ws.cell(k,6,v*3)

# print(cell.value)

wb.save("D:\django\bypy_home\2024-03-14-17-15-59-飞行记录.xlsx")
print(ws)
shujuliebiao_xiugai= []
class GaoRongzeng(object):
def init(self,time1,time2):
self.time_1 =time1
self.time_2 =time2

使用变量长度表格行数

alen =ws.max_row-1
for i in range(2,rows+1):
time1_cell1= ws.cell(i,1).value
time2_cell1 = ws.cell(i, 7).value
gaosisi =GaoRongzeng(time1_cell1,time2_cell1)
# print(gaosisi.time_1)
shujuliebiao_xiugai.append(gaosisi)

print(len(shujuliebiao_xiugai),"lll")

alist_len =len(shujuliebiao_xiugai)
for j in range(0,alist_len):

ws.cell(rows,1,shujuliebiao_xiugai[j].time_1)
ws.cell(rows, 7, shujuliebiao_xiugai[j].time_2)
print(shujuliebiao_xiugai[j].time_1)

rows=rows-1
print(rows)
if rows <=1:
break
wb.save("D:\django\bypy_home\2024-03-14-17-15-59-飞行记录.xlsx")

posted @ 2024-03-24 15:24  昆仑葫芦  阅读(0)  评论(0)    收藏  举报