PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Trả lại khung dữ liệu Pandas từ truy vấn PostgreSQL với sqlalchemy

Bạn đang bị ảnh hưởng bởi các vấn đề về độ nhạy trường hợp (trong) với PostgreSQL. Nếu bạn trích dẫn tên bảng trong truy vấn, nó sẽ hoạt động:

df = pd.read_sql_query('select * from "Stat_Table"',con=engine)

Nhưng về mặt cá nhân, tôi khuyên bạn chỉ nên luôn sử dụng tên bảng (và tên cột) viết thường khi ghi bảng vào cơ sở dữ liệu để ngăn chặn các vấn đề như vậy.

Từ tài liệu PostgreSQL ( http:// www.postgresql.org/docs/8.0/static/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS ):

Để giải thích thêm một chút:bạn đã viết một bảng với tên Stat_Table vào cơ sở dữ liệu (và sqlalchemy sẽ trích dẫn tên này, vì vậy nó sẽ được viết là "Stat_Table" trong cơ sở dữ liệu postgres). Khi thực hiện truy vấn 'select * from Stat_Table' tên bảng không được trích dẫn sẽ được chuyển đổi thành chữ thường stat_table , và do đó bạn nhận được thông báo rằng bảng này không được tìm thấy.

Xem thêm ví dụ: Tên cột PostgreSQL có phân biệt chữ hoa chữ thường không?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LỖI:cột quan hệ không tồn tại PostgreSQL, Không thể chạy truy vấn chèn

  2. Nhiều INSERTS vào một bảng và nhiều INSERTS vào một bảng

  3. Chuyển đổi Oracle SQL Select thành PostgreSQL select

  4. Mẹo triển khai PostgreSQL trên nền tảng đám mây kết hợp

  5. Ngủ đông nhiều hàng chèn postgresql