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

2次阅读

共计 1900 个字符,预计需要花费 5 分钟才能阅读完成。

版权申明:本文为 CSDN 博主「延瓒 @yankerp」的原创文章,遵循 CC 4.0 BY-SA 版权协定,转载请附上原文出处链接及本申明。原文链接:https://blog.csdn.net/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} 秒")` 

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

正文完
 0