sqlite文件在python和r中显示为空

时间:2018-09-01 03:36:07

标签: python r sqlite rsqlite

我正在尝试在python中打开.sqlite3文件,但看不到任何信息返回。因此,我尝试了r,但仍然无法获得表格。我想知道此文件中有哪些表。 我将以下代码用于python:

import sqlite3
from sqlite3 import Error
def create_connection(db_file):
    """ create a database connection to the SQLite database
        specified by the db_file
    :param db_file: database file
    :return: Connection object or None
    """
    try:
        conn = sqlite3.connect(db_file)
        return conn
    except Error as e:
        print(e)

    return None
database = "D:\\...\assignee.sqlite3"
conn = create_connection(database)
cur = conn.cursor()
rows = cur.fetchall()

但是行是空的! 这是我从以下位置获取assignee.sqlite3的地方: https://github.com/funginstitute/downloads

我也尝试过RStudio,下面是代码和结果:

> con <- dbConnect(drv=RSQLite::SQLite(), dbname="D:/.../assignee")
> tables <- dbListTables(con)

但这就是我得到的 enter image description here

1 个答案:

答案 0 :(得分:0)

首先请确保您在与sql的连接字符串上提供了正确的路径  光分贝 使用此conn = sqlite3.connect(“ C:\ users \ guest \ desktop \ example.db”)

还要确保在单元测试和生产代码中使用SQLite库

检查sqllite连接字符串的类型并确定您的数据库属于哪个:

基本 数据源= c:\ mydb.db;版本= 3; 该类库不支持版本2。

SQLite

内存数据库

SQLite数据库通常存储在磁盘上,但该数据库也可以

存储在内存中。了解有关SQLite内存数据库的更多信息。

Data Source =:memory:; Version = 3; New = True;

SQLite

使用UTF16 数据源= c:\ mydb.db;版本= 3; UseUTF16Encoding = True;

SQLite 带密码 数据源= c:\ mydb.db;版本= 3;密码= myPassword;

因此请确保您为sql lite数据库写了正确的连接字符串

如果仍然看不到它,请检查包含/ tmp的磁盘是否完整,否则,它可能是加密数据库,或者可能被其他应用程序锁定并使用了,您可以通过使用许多用于sql light的工具来确认数据库

您可以缩编该工具,尝试直接导航到数据库所在的位置,它会向您指示问题。

download windows version

Download Mac Version

Download linux version

祝你好运