问题描述
我是 Python 新手,必须使用代码获取 Excel 文档上的信息并通过此变量 df
组织它,该变量作为未定义变量返回。代码如下,在VS Code中使用:
import pandas as pd
from datetime import datetime,timedelta
import openpyxl as xl
l= locals()
td = datetime.today()
td = td - timedelta(days=1)
path = "Y:/DB/1010/"
filename = 'PSU_'+ td.strftime('%Y_%m_%d') + '.xlsx'
sheetName= ['CAG_A','HVAC_A','CAG_B','HVAC_B']
dh1 = pd.DataFrame(columns= ['fdb_INV_BAGS_5 (BAC.100.TL46)','fdb_INV_BAGS_6 (BAC.100.TL47)','fdb_INV_BAGS_7R (BAC.100.TL48)',...
dh2 = pd.DataFrame(columns= ['CTRL_V2V_0001 (BAC.815.TL39)','CTRL_V2V_0002 (BAC.815.TL45)',...
dh3 = pd.DataFrame(columns= ['DF_INV_BAGS_5 (BAC.100.TL41)','DF_INV_BAGS_6 (BAC.100.TL42)','DF_INV_BAGS_7R (BAC.100.TL43)',...
dh4 = pd.DataFrame(columns= ['B_ST_VT_7 (BAC.908.TL10)','ST_AHU_1 (BAC.408.TL8)','ST_AHU_1 (BAC.704.TL3)','ST_AHU_1 (BAC.705.TL5)',...
for i in range(1,5):
l['df'+str(i)] = pd.read_excel("dadosBrutos.xlsx",sheet_name=sheetName[i-1])
col= l['df'+str(i)].columns.to_list()
if len(col) != 0:
col[0]= 'TIME'
l['df'+str(i)].columns = col
l['df'+str(i)]= l['df'+str(i)].set_index('TIME')
try:
l['df'+str(i)]= l['df'+str(i)].loc[td.strftime('%Y-%m-%d')]
except:
l['df'+str(i)] = pd.DataFrame()
print(l['df'+str(i)])
l['df'+str(i)] = l['dh'+str(i)].append(l['df'+str(i)])
print(l['df'+str(i)])
try:
print('Try')
wb = xl.Workbook()
wb.save(path+filename)
print(path+filename)
with pd.ExcelWriter(path+filename,mode='a') as writer:
df1.to_excel(writer,sheet_name='CAG_A') <---------------
df2.to_excel(writer,sheet_name='HVAC_A') <---------------
df3.to_excel(writer,sheet_name='CAG_B') <---------------
df4.to_excel(writer,sheet_name='HVAC_B') <---------------
except:
print('Except')
wb = xl.Workbook()
wb.save(filename)
print(filename)
with pd.ExcelWriter(filename,sheet_name='CAG_A') <---------------
df2.to_excel(writer,sheet_name='HVAC_B') <---------------
带箭头的部分是代码抱怨的地方,变量 dh
存储了从中获取数据的地址。我不知道为什么 VS Code 中的编译器会抱怨它并且找不到解释。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)