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

DatabaseError:“không phải tất cả các đối số đều được chuyển đổi trong quá trình định dạng chuỗi” khi tôi sử dụng pandas.io.sql.to_sql ()

pandas.read_sql sử dụng một trong hai:

  • một đối tượng kết nối sqlalchemy engine.connect()
  • một đối tượng db api chỉ dành cho sqlite

bằng cách sử dụng raw_connection() , bạn có một đối tượng kết nối db api, vì vậy gấu trúc tin rằng đó là một kết nối với cơ sở dữ liệu sqlite (như chúng tôi thấy trong lỗi của bạn FROM sqlite_master WHERE )

bạn cần sử dụng con = engine.connect()

import sqlalchemy
import pandas
engine = sqlalchemy.create_engine('...')
with engine.connect() as conn:
    print('sqla:', list(conn.execute('select * from users')))
    df = pandas.read_sql('select * from users', conn)
    print('df:', df)
    df.to_sql('users2', conn)
    print('sqla:', list(engine.connect().execute('select * from users2')))

kết quả đầu ra:

sqla: [(1, 'toto'), (2, 'titi'), (3, 'tutu'), (4, 'tata')]
df:    id  name
0   1  toto
1   2  titi
2   3  tutu
3   4  tata
sqla: [(1, 'toto'), (2, 'titi'), (3, 'tutu'), (4, 'tata')]

như mong đợi



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Định dạng ngày giờ Mysql thêm 10 phút

  2. SQL liệt kê tất cả các sinh nhật trong vòng 14 ngày tới và trước đó

  3. Làm cách nào để giải quyết vấn đề không tương thích với sql_mode =only_full_group_by trong laravel eloquent?

  4. Đưa cơ sở dữ liệu nhúng mysql vào tệp văn bản SQL

  5. Cách kiểm tra kết nối cơ sở dữ liệu PHP MySQL bằng Script