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-office\log"
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()
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!