如何在带有sqlite db文件的Google驱动器上将Jupyter Notebook与Google Colab一起使用?

时间:2020-03-25 16:58:19

标签: python sqlite google-colaboratory

我上传了一个名为factbook.db的sqlite数据库文件。 在笔记本中,我从以下内容开始:

from google.colab import drive
drive.mount('/content/drive')

my_path = '/content/drive/My Drive/Analyzing_CIA_Factbook_Data_Using SQL_1/'

%%capture
%load_ext sql
%sql sqlite:///my_path + factbook.db

之后,我想查看表列表:

%%sql
SELECT * FROM sqlite_master WHERE type='table';

但是它显示:

sqlite:///factbook.db
   sqlite:///my_path
Done.
type    name    tbl_name    rootpage    sql

我什至尝试将文件从额外的文件夹中移出并粘贴到“我的云端硬盘”中。但这也不起作用。

我运行了这个查询:

%%sql
SELECT * 
FROM facts
LIMIT 5;

但这显示了这一点:

* sqlite:///factbook.db
   sqlite:///my_path
(sqlite3.OperationalError) no such table: facts
[SQL: SELECT * 
FROM facts
LIMIT 5;]
(Background on this error at: http://sqlalche.me/e/e3q8)

谢谢。

1 个答案:

答案 0 :(得分:0)

您的命令在这里无效。

%sql sqlite:///my_path + factbook.db

它不会连接字符串。您应该先使用当前目录对其进行测试。

!cp '/content/drive/My Drive/Analyzing_CIA_Factbook_Data_Using SQL_1/factbook.db' /content
%sql sqlite:////content/factbook.db

首先检查它是否起作用,然后尝试更改目录。 如果很难逃脱空间,则可以创建一个符号链接使其更容易。

!ln -s '/content/drive/My Drive/Analyzing_CIA_Factbook_Data_Using SQL_1' /content/sql