首页 > 编程语言 >使用python处理excel数据

使用python处理excel数据

时间:2024-06-11 15:32:44浏览次数:24  
标签:sheet python excel value 时间差 cell 处理 str time

使用python处理excel数据

python处理excel数据

excel数据有一列是开始时间,一列为结束时间,计算时间差,时间差>1h,将数据平均为1h。
数据处理前

时间差>1h,总量也将平均到每个小时,如第三行数据,时间差为4h,数据为5.2,所以每小时时间差为5.2/4,平均到每小时,并且在数据下插入行。

时间差计算

时间差计算方式代码

import os
import openpyxl

path = r"F:/"
os.chdir(path)
workbook = openpyxl.load_workbook('文件.xlsx')
sheet = workbook['sheet']  # 获取指定sheet表
sheet.insert_cols(idx=3, amount=1)  # 在C列之前插入一列,作为时间差展示列
row = sheet.max_row  # 获取列数

# 遍历AB两列,进行计算时间差,并把时间差写入新增的C行
for i in range(2, row+1):
    time_first = 'A' + str(i)
    time_last = 'B' + str(i)
    time_diff = 'C' + str(i)
    cell_first = sheet[time_first]
    cell_last = sheet[time_last]
    cell = sheet[time_diff]
    if cell_first.value is None and cell_last.value is None:       # AB列出现None后退出循环
        break
    time_all = (cell_last.value - cell_first.value)*24      # 因表格之中就是时间格式进行计算
    if time_all.days < 0:       # 因表格中跨半夜0:00,日期并不增加,所以需要+24进行修正
        time = time_all.days + 24
        sheet[time_diff] = time
    else:
        sheet[time_diff] = time_all.days

workbook.save('文件.xlsx')



平均量计算

平均量计算方法代码

import os
import openpyxl
import datetime
path = r"F:/"
os.chdir(path)
workbook = openpyxl.load_workbook('文件.xlsx')
sheet = workbook['sheet']  # 获取指定sheet表
cell1 = sheet['A4']
cell2 = sheet['B4']
row = sheet.max_row  # 获取列数

# 使用while循环进行遍历表格,因需要在循环之中更改i的值,所以不可使用for循环
i = 2
# for i in range(2, row+1):  # 不管在循环内部怎么更改i的值,计数器的值始终不变
while i < row + 1:
    time_first = 'A' + str(i)
    time_last = 'B' + str(i)
    time_diff = 'C' + str(i)  # 获取时间差一栏,与总量一栏
    rain = 'D' + str(i)
    cell_time = sheet[time_diff]
    if cell_time.value is None:  # 如果出现None数据则退出循环
        break
    if cell_time.value != 1:  # 时间差不是1的数据,则对于降水量进行平均分到每个小时
        print(i)
        sheet.insert_rows(idx=i + 1, amount=cell_time.value - 1)  # 在不是1的时间差下面加入多行数据
        cell_rain = sheet[rain]
        # print(cell_rain.value)
        time1 = sheet[time_first]
        time2 = sheet[time_last]
        rain_ava = cell_rain.value / cell_time.value  # 计算平均每小时降水量
        sheet[rain] = rain_ava
        

        for j in range(1, cell_time.value):  # 循环将平均每小时降水量进行写入
            a = 'D' + str(j + i)
            b = 'C' + str(j + i)
            sheet[a] = rain_ava
            sheet[b] = 1
        i = i + cell_time.value  # 跳过插入行
        sheet[time_diff] = 1	# 时间差都为1
    i = i + 1  # i+1 从而进行数据遍历

workbook.save('文件.xlsx')

excel处理后数据

处理之后数据

标签:sheet,python,excel,value,时间差,cell,处理,str,time
From: https://blog.csdn.net/qq_45700396/article/details/139586162

相关文章

  • python-找第一个只出现一次的字符
    [题目描述]给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。输入:一个字符串,长度小于1100。输出:输出第一个仅出现一次的字符,若没有则输出no。样例输入1abcabd样例输出1c来源/分类(难度系数:一星) 完整代码如下:a=list(input())b=[......
  • PHP错误处理&异常处理方式小结
    PHP中的错误处理和异常处理是程序开发中非常重要的两个方面,它们可以帮助开发者识别和处理程序运行时出现的问题。以下是PHP中错误处理和异常处理的一些常见方式:错误处理错误级别:PHP定义了多种错误级别,如E_ERROR、E_WARNING、E_NOTICE等,通过设置错误级别,可以控制哪些错误会被......
  • python数据分析
    frompyechartsimportoptionsasoptsfrompyecharts.chartsimportMap#假设你有一个包含省份和抖音大v人数的字典data={  "广东":100,  "江苏":80,  "山东":70,  "浙江":60,  "河南":50,  "河北":40,  &qu......
  • Python项目打包二进制文件并发布
    复制项目生成二进制文件(交叉编译???)重命名二进制文件生成pyi文件(编译器智能提示需要删除原始py文件(复制后的)项目打包上传(分版本分平台???)流程、代码待完善二进制文件生成pipinstallcpython#setup.pydeffind_pyx_files(directory):pyx_files=[]forroot,_......
  • linux内存管理(五)- 缺页处理
    分析一下缺页的处理。缺页的意思是在访问内存的时候该地址还没有建好页表,页面尚未分配,或者页面被swap出去或者没有权限。缺页是同步异常,用户态发生缺页异常会等待内核解决,当然这一切对于用户态都是透明的。缺页处理的核心函数是do_page_fault,这个函数是架构相关的所以这个函数分布......
  • Python酷库之旅-开启库房之门
    目录一、库的定义二、库的组成三、库的分类四、如何学好Python库?五、注意事项六、推荐阅读1、Python筑基之旅2、Python函数之旅3、Python算法之旅4、Python魔法之旅5、 博客个人主页一、库的定义        在Python中,库(Library)是一个封装了特定功能或......
  • pytqt5及python下程序打包发布
    关于写的软件如何打包发布,总结一下找到的方式,方便后期使用。首先,你需要安装pyinstaller。pipinstallpyinstaller如果你打包的文件想要是多个文件,这样打包后的文件是在你输入路径下的文件,包含多个数据,你需要exe文件在dist文件夹下pyinstaller--name="key_gongdan""......
  • python绘制词云图最全教程,查看文章关键词,自定义词云图形状等,看完就会
    ......
  • 每日一题——Python实现PAT乙级1111 对称日(举一反三+思想解读+逐步优化)七千字好文
    一个认为一切根源都是“自己不够强”的INTJ个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数Python-3.12.0文档解读目录我的写法代码点评时间复杂度分析空间复杂度分析综上所述:优化建议我要更强优化建议完整代码和注释优化分析......
  • python 圖片拼接demo
    fromPILimportImagedefcomb(png1,png2,png3,png4,png5,style='horizontal'):img1,img2,img3,img4,img5=Image.open(png1),Image.open(png2),Image.open(png3),Image.open(png4),Image.open(png5)#统一图片尺寸,可以自定义设置(宽,高)img1=img1.r......