处理excel表格的实验数据

表格形式:
ps第一行需要额外空出来
表格形式
脚本如下:

import pandas as pd
import datetime
#people = pd.read_excel("people.xlsx",header=0,sheet_name="Sheet1")
people = pd.read_excel(r"D:\PersonalFiles\生态中心\博士课题\试验分析和纪录\20230131低温变温继代实验记录.xlsx",header=0,sheet_name="低温变温")
#people.sort_values(by="age",ascending=False,inplace=True)
i=0
StrainLen={"A":{},"B":{},"C":{},"D":{},"E":{},"M":{}}
oldtimemin=datetime.datetime(2023,1,31,15,0)
oldlen = [0,0,0,0,0,0]
while(i<1000):
    try:
        timeday = people.iloc[i,4:6][0]
        timemin = people.iloc[i,4:6][1]
        #print(timeday.date())
        daytime = datetime.datetime.combine(timeday.date(),timemin)
        i += 8
        k = 0
        for j in StrainLen.keys():
            #print(j)
            k = k+4
            intervalTime = (daytime-oldtimemin).days*24+(daytime-oldtimemin).seconds/3600
            intervalLen = people.iloc[i - 1, k] - oldlen[int(k/4-1)]
            #print(intervalTime)
            StrainLen[j][daytime] = intervalLen/(timemin.hour-9+timemin.minute/60)
            oldlen[int(k/4-1)] = people.iloc[i - 1, k]
        oldtimemin = daytime
#        print(oldtimemin-timemin)
    except:
        break
speedA,speedB,speedC,speedD,speedE,speedM=[],[],[],[],[],[]
newtable2 = {"time":[]}
newtable = {}
for i in StrainLen["A"]:
    newtable[i]=[]
    for j in StrainLen.keys():
        newtable[i].append([j,StrainLen[j][i]])
for i in sorted(newtable):
    newtable2["time"].append(i)
    for j in newtable[i]:
        if j[0] == "A":
            speedA.append(j[1])
        elif j[0] == "B":
            speedB.append(j[1])
        elif j[0] == "C":
            speedC.append(j[1])
        elif j[0] == "D":
            speedD.append(j[1])
        elif j[0] == "E":
            speedE.append(j[1])
        elif j[0] == "M":
            speedM.append(j[1])
newtable2["speedA"]=speedA
newtable2["speedB"]=speedB
newtable2["speedC"]=speedC
newtable2["speedD"]=speedD
newtable2["speedE"]=speedE
newtable2["speedM"]=speedM
df = pd.DataFrame(newtable2)
df.set_index("time")
df.to_excel('people.xlsx')


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值