我试图从数据库文件(如MS Access文件)中读取要使用的列中的值,但前提是满足特定条件。你知道吗
我有26个不同的MS-access文件代表了26个不同年份的数据库。你知道吗
import pyodbc
import pandas as pd
import numpy as np
k = 1993 + np.arange(24)
for i in k:
print(i)
DBfile = r'D:\PMIS1993_2016'+'\\'+str(i)+'\\pmismzxpdata_'+str(i)+'.mdb'
print(DBfile)
conn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb)};DBQ='+DBfile)
cur = conn.cursor()
qry = "SELECT JCP_FAILED_JNTS_CRACKS_QTY, JCP_FAILURES_QTY, JCP_SHATTERED_SLABS_QTY, JCP_LONGITUDE_CRACKS_QTY, JCP_PCC_PATCHES_QTY FROM PMIS_JCP_RATINGS WHERE BEG_REF_MARKER_NBR = '0342' and BEG_REF_MARKER_DISP LIKE '0.5' and RATING_CYCLE_CODE = 'P'"
dataf = pd.read_sql(qry, conn)
print(dataf)
D = list(dataf.values[0])
print(D)
conn.close()
在这里,我试图读取变量的值:当BEG\u REF\u MARKER\u NBR='0342'和BEG\u REF\u MARKER\u DISP像'0.5'和RATING\u CYCLE\u CODE='p'时,JCP\u FAILED\u CRACKS\u QTY、JCP\u FAILURES\u QTY、JCP\u breaked\u slapes\u QTY和JCP\u longitu CRACKS\u QTY、JCP\u PCC\u PATCHES\u QTY。你知道吗
然而,并非每年都符合BEG\ U REF\ U MARKER\ U NBR='0342'和BEG\ U REF\ U MARKER\ U DISP的条件,如'0.5'和评级\周期\代码='p'。你知道吗
因此,我想跳过不满足这些条件的年份,例如if else函数表示不满足这些条件的年份。你知道吗
如果您有任何帮助或想法,我将非常感谢。你知道吗
以撒
可以使用^{} 属性:
例如,要跳过空的
dataf
:相关问题 更多 >
编程相关推荐