变量未定义:Pylance (reportUndefinedVariable)我的代码没有读取用于在数据帧中存储信息的变量 df

问题描述

我是 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...