CS50 Web 编程 - 导入 books.csv 文件时出现 Postgres SQL 错误
CS50 Web Programming - Postgres SQL error while importing books.csv file
在我的 Postgres 数据库中,我制作了 Table
本书。在书里面,我有 5 列 - id
、title
、author
、isbn
、year
、
我是 运行 我的 import.py 代码如下所示导入 books.csv 内容 :-
import csv
import os
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
engine = create_engine(os.getenv("DATABASE_URL"))
db = scoped_session(sessionmaker(bind=engine))
def main():
f = open("books.csv")
reader = csv.reader(f)
for isbn, title, author, year in reader:
db.execute("INSERT INTO books (isbn, title, author, year) VALUES (:isbn, :title, :author, :year)",
{"isbn": isbn, "title": title, "author": author, "year": year})
print(f"Added book with isbn {isbn}.")
db.commit()
if __name__ == "__main__":
main()
当我尝试导入我的专栏时,在 运行 python import.py
on git bash:[=22= 时出现以下错误]
psycopg2.DataError: invalid input syntax for integer: "isbn"
LINE 1: ...RT INTO books (isbn, title, author, year) VALUES ('isbn', 't...
.. [SQL: 'INSERT INTO books (isbn, title, author, year) VALUES (%(isbn)s, %(title)s, %(author)s, %(year)s)']
[parameters: {'isbn': 'isbn', 'title': 'title', 'author': 'author', 'year': 'year'}]
(Background on this error at: http://sqlalche.me/e/9h9h)
import.py 无法与创建的 table 对话。 table 在检查 psql 中的 table 时出现。但是,当我尝试在 psql 中通过命令行创建不同的 table 时,它不起作用。
^
您已经从您使用 Python 连接的数据库在另一个数据库中创建了 table,或者您将其命名为其他名称
我会检查您创建它所用的工具...
在我的 Postgres 数据库中,我制作了 Table
本书。在书里面,我有 5 列 - id
、title
、author
、isbn
、year
、
我是 运行 我的 import.py 代码如下所示导入 books.csv 内容 :-
import csv
import os
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
engine = create_engine(os.getenv("DATABASE_URL"))
db = scoped_session(sessionmaker(bind=engine))
def main():
f = open("books.csv")
reader = csv.reader(f)
for isbn, title, author, year in reader:
db.execute("INSERT INTO books (isbn, title, author, year) VALUES (:isbn, :title, :author, :year)",
{"isbn": isbn, "title": title, "author": author, "year": year})
print(f"Added book with isbn {isbn}.")
db.commit()
if __name__ == "__main__":
main()
当我尝试导入我的专栏时,在 运行 python import.py
on git bash:[=22= 时出现以下错误]
psycopg2.DataError: invalid input syntax for integer: "isbn"
LINE 1: ...RT INTO books (isbn, title, author, year) VALUES ('isbn', 't...
.. [SQL: 'INSERT INTO books (isbn, title, author, year) VALUES (%(isbn)s, %(title)s, %(author)s, %(year)s)']
[parameters: {'isbn': 'isbn', 'title': 'title', 'author': 'author', 'year': 'year'}]
(Background on this error at: http://sqlalche.me/e/9h9h)
import.py 无法与创建的 table 对话。 table 在检查 psql 中的 table 时出现。但是,当我尝试在 psql 中通过命令行创建不同的 table 时,它不起作用。
^
您已经从您使用 Python 连接的数据库在另一个数据库中创建了 table,或者您将其命名为其他名称
我会检查您创建它所用的工具...