• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:大话-Pythonpython-操作-excel-系列-excel-数据分析

python 搞代码 4年前 (2022-02-20) 25次浏览 已收录 0个评论

版权申明:本文为CSDN博主「延瓒@yankerp」的原创文章,遵循CC 4.0 BY-SA版权协定,转载请附上原文出处链接及本申明。原文链接:https://www.gaodaima.com/qq_3959…

1,场景阐明

目前有一个excel表,其中外面有一个工作薄的名称为:btc,在这个工作薄中有2013年–2018年的所有交易数据,本文次要实现,将不同的年份的数据保留至新的工作薄并起名成为:2013,2014等等。

如果不必python进行操作的话,咱们首先须要关上excel表,而后抉择btc工作薄。新建2013 2014工作薄,最初进行剖析导入,保留退出。在python操作中首先须要导入excel表,而后获取到btc工作薄中的数据,通过不同的工夫年份来获取不同年份的数据,最初创立新的工作薄,导入–>保留退出。

2,导入内置库及第三方库
`import os  # 用于获取excel文件门路,以及对剖析后的excel文件进行保留 
import openpyxl  #  应用openpyxl能够对excel进行操作,须要装置 pip install openpyxl
import datetime  #  日期
import time  #  工夫` 
3,定义文件门路
`year_list = [2013, 2014, 2015, 2016, 2017, 2018]
file_path = r"F:python-officelog"
file_name = "btc.xlsx"
file_result = os.path.join(file_path, file_name)` 
4,定义函数
`#!/usr/bin/env python
# -*- coding:utf-8 -*-

import os
import openpyxl
import datetime
import time

year_list = [2013, 2014, 2015, 2016, 2017, 2018]
file_path = r"F:python-officelog"
file_name = "btc.xlsx"
file_result = os.path.join(file_path, file_name)

def excel():
    """
    """
    wb = openpyxl.load_workbook(file_result)  #  首先获取excel文件生成对象wb 应用openpyxl.load_workbook 办法
    sh = wb.active  #  应用wb中的active办法获取当前工作薄:btc 生成新的对象sh
    index = 0  #  设置一个数字变量之后会用到
    for i in range(len(year_list)): # 循环6次,6次来源于year_list列表长度
        count = 2 # 定义一个数字变量 前面会用到
        sh1 = wb.create_sheet(str(year_list[index])) # 应用应用wb.create 办法创立工作薄名称。名称为列表中的值,index是下面定义的数字变量

        for rows in sh.rows: # 循环btc工作表中的内容
            if rows[0].coordinate != "A1" and datetime.datetime.strptime(rows[0].value, '%Y-%m-%d %H:%M:%S %Z').year == year_list[index]: 
            # 把日期和金额去除从第二行开始循环, 应用datetime模块将获取的value1的工夫字符串解析为工夫元组。最初取年值进行匹配
                # print(rows[0].value, rows[1].value)
                sh1["A1"] = "日期" # 写入日期
                sh1["B1"] = "金额" # 写入金额
                sh1["A" + str(count)] = rows[0].value # A + str(count) 第二行开始 写入
                sh1["B" + str(count)] = rows[1].value 

                # print("in sh:", sh1["A" + str(count)].value, sh1["B" + str(count)].value)
                print(f"正在剖析{year_list[index]}年数据.....")
                count += 1 # 没实现一次循环 count + 1
        index += 1 # 同时index + 1
    wb.save("yankerp.xlsx") # 当函数全副执行实现后,应用wb.save 保留即可。

if __name__ == "__main__":
    start_time = time.time()
    excel()
    print(f"剖析实现,用时工夫为{time.time() - start_time}秒")` 

技术分享、材料获取、编程教训更多精彩请返回老王说编程>>>>


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:大话-Pythonpython-操作-excel-系列-excel-数据分析
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址