簡體   English   中英

從 Sqlite 檢索列數據

[英]Retrieving Column data from Sqlite

我從網上下載的數據創建了一個 db 文件。 我使用以下代碼創建數據庫:

    kiwoom.ohlcv = {'date': [], 'open': [], 'high': [], 'low': [], 'close': [], 'volume': []}
    df = pd.DataFrame(kiwoom.ohlcv, columns=['open', 'high', 'low', 'close', 'volume'], index=kiwoom.ohlcv['date'])

    con = sqlite3.connect("c:/Users/Runner/Data/Stock/Dayprice_kosdaq_filtered.db")
    df.to_sql(stock_code, con, if_exists='replace')

在這里,根據pandas.DataFrame文檔,dataframe的索引數據應該已經成為數據庫中的另一列:

索引:布爾值,默認為真
將 DataFrame 索引寫入列。 使用 index_label 作為表中的列名。

然而問題是,如果我嘗試使用 SELECT 調用索引列下的數據:

con1 = sqlite3.connect("c://Users//Runner//Data//Stock//Dayprice_kosdaq_filtered.db")
cursor = con1.cursor()
cursor.execute("SELECT 'index' FROM '101360' WHERE close = 24850")
table_list = cursor.fetchall()
print(table_list)

我得到以下結果,其中 '101360' 是表名,而 close 是一列:

runfile('C:/Users/Runner/Spyder Projects/Stocks/Get Data/untitled1.py', wdir='C:/Users/Runner/Spyder Projects/Stocks/Get Data') [('index',), ('index',), ('index',), ('index',), ('index',), ('index',), ('index',), ('index',), ( 'index',), ('index',), ('index',), ('index',), ('index',), ('index',), ('index',), (' index',), ('index',), ('index',), ('index',), ('index',), ('index',), ('index',), ('index ',), ('index',), ('index',), ('index',), ('index',), ('index',), ('index',), ('index' ,), ('index',), ('index',), ('index',), ('index',), ('index',), ('index',), ('index', ), ('index',), ('index',), ('index',), ('index',), ('index',), ('index',), ('index',) , ('index',), ('index',), ('index',), ('index',), ('index',), ('index',), ('index',), ('索引',), ('索引',)]

當我通過 DB 瀏覽器檢查索引列的值時,我確實看到了日期的 TEXT 值,但是當我嘗試通過 python 代碼訪問它時,我得到了“索引”值。 出了什么問題,我該如何解決? 謝謝

您可以嘗試用 [] 覆蓋查詢中的列(索引,關閉),因為兩列都是關鍵字,如下所示:

con1 = sqlite3.connect("c://Users//Runner//Data//Stock//Dayprice_kosdaq_filtered.db")
cursor = con1.cursor()
query = cursor.execute("SELECT [index] FROM '101360' WHERE [close] = 24850")
client_df = pd.DataFrame(query)

暫無
暫無

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

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