'''测试-更新工作簿内时间公式'''
def main():
print("测试,脚本运行完成")
import pandas as pd
# 解除后台占用
import os
os.system("taskkill /f /im excel.exe")
'''测试1-打开关闭工作簿再读取'''
# 配置表-文件地址
str_addr_configuration = "测试.xlsx"
# 打开,关闭-更新配置表内时间公式
open(str_addr_configuration).close() # 明天一早测试,这样打开关闭操作,全部公式是否会更新?
'''测试结果'''
print(pd.read_excel(str_addr_configuration, header=None).iloc[0,0]) # 结果表明 失败了
'''测试2-控制打开模式为追加'''
open(str_addr_configuration, mode="a").close()
print(pd.read_excel(str_addr_configuration, header=None).iloc[0,0]) # 结果表明 失败了
'''测试3-控制打开模式为写入'''
# open(str_addr_configuration, mode="w").close()
# 这样会打不开的 因为后续操作会显示没有关闭文件 与之类似的有pd.ExcelFile
'''测试4-推测只能使用openpyxl或xlwings-不对,也许是open后需要读取行?'''
# https://blog.csdn.net/qq_35515661/article/details/88786012
# with open(str_addr_configuration) as f:
# f.readlines()
# f.close()
# UnicodeDecodeError: 'gbk' codec can't decode byte 0xfc in position 22: illegal multibyte sequence
print("似乎不能用open打开xlsx?待解决问题")
理论上 只要脚本运行在cyclone里 并且每日都运行在读取工作簿的流程之后 就没有这个问题(事实证明 这是错的 cyclone更新了值 但是python照样读取不到更新后的值)
而且 cyclone这个模块很管用 可以更新时间
相比而言 python就麻烦很多 参考https://blog.csdn.net/weixin_47154909/article/details/106522219
测试显示 cyclone只能更新自己读取的值 不能帮助python脚本更新表格的值
那么 只能在外部打开更新这个表格 才能在脚本中读取工作簿内的时间的值
python如何更新xlsx格式的工作簿里的所有工作表sheet的时间公式的值
1 xlwings
2 openpyxl
3 win32com
https://blog.csdn.net/weixin_47154909/article/details/106522219
4 pandas.ExcelWriter