使用 python 打开数据库文件 (.db)

新手上路,请多包涵

我有一个 SQLite3 格式的数据库文件 .db,我试图打开它以查看其中的数据。下面是我尝试使用 python 进行编码。

     import sqlite3

    # Create a SQL connection to our SQLite database
    con = sqlite3.connect(dbfile)

    cur = con.cursor()

    # The result of a "cursor.execute" can be iterated over by row
    for row in cur.execute("SELECT * FROM "):
    print(row)

    # Be sure to close the connection
    con.close()

对于行 ("SELECT * FROM ") ,我知道你必须在“FROM”一词之后放入表格的标题,但是,因为我一开始甚至无法打开文件,所以我有不知道要放什么标题。因此,我如何编写代码才能打开数据库文件以读取其内容?

原文由 Ho Jun Hong 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

所以,你分析得很好。在 FROM 之后,您必须输入表名。但是你可以这样找到它们:

 SELECT name FROM sqlite_master WHERE type = 'table'

在代码中,这看起来像这样:

 # loading in modules
import sqlite3

# creating file path
dbfile = '/home/niklas/Desktop/Stuff/StockData-IBM.db'
# Create a SQL connection to our SQLite database
con = sqlite3.connect(dbfile)

# creating cursor
cur = con.cursor()

# reading all table names
table_list = [a for a in cur.execute("SELECT name FROM sqlite_master WHERE type = 'table'")]
# here is you table list
print(table_list)

# Be sure to close the connection
con.close()

这对我很有用。您已经正确读取的数据只需粘贴在表名中即可。

原文由 SebNik 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果您想将可视化分析的数据视为 pandas 数据框,也可以使用以下方法。

 import pandas as pd
import sqlite3
import sqlalchemy

try:
    conn = sqlite3.connect("file.db")
except Exception as e:
    print(e)

#Now in order to read in pandas dataframe we need to know table name
cursor = conn.cursor()
cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")
print(f"Table Name : {cursor.fetchall()}")

df = pd.read_sql_query('SELECT * FROM Table_Name', conn)
conn.close()

原文由 Aman 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题