SQLite无法读取使用Python创建的表
我正在尝试使用Python sqlite3库从CSV文件创建一个SQL表。 这就是我写的代码: 导入csv 导入sqlite3 csv_file='path/to/file.csv' db=sqlite3.connect'clients.db' execute'createtablemain ID INT主键不为空, 名字叫瓦查尔, 电邮:VARCHAR, 地址VARCHAR;' 该部分仅用于获取表中的行数 使用opencsv_文件,“r”作为csv_表: reader=csv.DictReadercsv_表格,分隔符=';' 行=读卡器中r的sum1 我在看桌子 使用opencsv_文件,“r”作为csv_表: reader=csv.DictReadercsv_表格,分隔符=';' 对于i,枚举读取器中的行: db.execute'插入到主值中 “{idn}”、“{name}”、“{email}”、“{add}”;”。formatidn=i, name=行['name'], email=行['email'], add=行['address'] 打印“{}/{}:\t{}”。格式I+1,行,行 db.commit db.close 运行完这段代码后,我试图使用sqlite3访问该表,但每当我发送关于“main”表的查询时,都会收到错误消息:error:no-this-table:main 我曾尝试使用Python阅读该表,但效果很好: 导入sqlite3 db=sqlite3.connect'clients.db' rows=db.执行'SELECT*FROM main;' 对于行中的r: 印刷工 我从运行SQLite3的同一目录运行此脚本SQLite无法读取使用Python创建的表,python,python-3.x,sqlite,Python,Python 3.x,Sqlite,我正在尝试使用Python sqlite3库从CSV文件创建一个SQL表。 这就是我写的代码: 导入csv 导入sqlite3 csv_file='path/to/file.csv' db=sqlite3.connect'clients.db' execute'createtablemain ID INT主键不为空, 名字叫瓦查尔, 电邮:VARCHAR, 地址VARCHAR;' 该部分仅用于获取表中的行数 使用opencsv_文件,“r”作为csv_表: reader=csv.DictRead
我使用的是Python 3.6,我的操作系统是Ubuntu 16.04.6 LTS。问题是Python和sqlite3实际上运行在不同的位置,所以它们使用不同的数据库 我变了 db=sqlite3.connect'clients.db' 到 db=sqlite3.connect'full/path/to/clients.db'
现在它工作得很好。胡猜。由于您不使用完整路径,Python在一个文件夹中工作,sqlite3在另一个文件夹中工作,因此它们使用两个不同的数据库。@SergeBallesta我只是将其更改为完整路径,它就可以工作了,谢谢。请随意使用我的评论来构建答案,然后接受它,以避免留下未回答的问题。