簡體   English   中英

無法打開數據庫文件

[英]Unable to open database files

我正在嘗試使用此代碼打開我的數據庫,但出現錯誤消息。 這是我的代碼:

def load_data(data_path='.', expnames=('R1','R2','R3','R4'), segments=('wait','blanking','preeject','eject'), fnpattern='AKF_E_{exp_desn}_Stempel_1_Formular_punches_segment_{segment}'):
    '''
    Creat a dictionary to save all the loaded rawdata for easily calling out

    Parameters
    -----------------
    data_path: path of the needed datasets

    Returns
    -----------------
    out_data:dict
            dictionary that contains loaded datasets of R1,R2,R3,R4
    '''
    out_data={}
    for exp_desn in expnames:
        row={}
        for segment in segments:
            dbname=os.path.join(data_path, exp_desn, fnpattern.format(segment=segment, exp_desn=exp_desn) )
            #assert os.path.exists(dbname+'.db')
            data=load_all_segments(dbname)
            row[segment] = data
        out_data[exp_desn] =  row
    return out_data```

這是我調用 function 加載數據的方式:

rawdata_R = 
load_data("\\Users\\Fast\\senseering\\raw_data", ('R1','R2','R3','R4'), ('wait','blanking','preeject','eject'), 'AKF_E_{exp_desn}_Stempel_1_Formular_punches_segment_{segment}')

但是我收到了這個錯誤,我不明白出了什么問題:

OperationalError                          Traceback (most recent call last)
<ipython-input-17-30cfc39001e5> in <module>
----> 1 rawdata_R = load_data("\\Users\\Fast\\senseering\\raw_data", ('R1','R2','R3','R4'), ('wait','blanking','preeject','eject'), 'AKF_E_{exp_desn}_Stempel_1_Formular_punches_segment_{segment}')

<ipython-input-8-a923a3777194> in load_data(data_path, expnames, segments, fnpattern)
     44             dbname=os.path.join(data_path, exp_desn, fnpattern.format(segment=segment, exp_desn=exp_desn) )
     45             #assert os.path.exists(dbname+'.db')
---> 46             data=load_all_segments(dbname)
     47             row[segment] = data
     48         out_data[exp_desn] =  row

<ipython-input-8-a923a3777194> in load_all_segments(db_name, segment)
      1 def load_all_segments(db_name, segment=""):
----> 2     conn = sqlite3.connect(db_name + ".db")
      3     df_names = pd.read_sql_query("SELECT name FROM sqlite_master WHERE type='table';", conn)
      4     df_all = pd.DataFrame()
      5 

OperationalError: unable to open database file

誰能告訴我問題是什么以及如何解決。

感謝您的幫助。

這是答案:而不是:

dbname=os.path.join(data_path, exp_desn, fnpattern.format(segment=segment, exp_desn=exp_desn) )

我應該使用以下內容:

dbname=os.path.join(data_path,  fnpattern.format(segment=segment, exp_desn=exp_desn) )

區別與我的文件夾的路徑有關。 第一個提示我在路徑文件夾中有 exp_desn,而我沒有,這就是我無法打開它的原因。 一旦我刪除它,我的數據就可以訪問了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM