• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

  • 共95篇

    python3.X - 数据分析 - Pandas

关闭

返回栏目

关闭

返回python3.X - 数据分析 - Pandas栏目

84 - 导出数据 - df.to_sql() - mysql数据库

作者:

贺及楼

成为作者

更新日期:2024-03-24 12:01:39

to_sql()

df类型直接保存到sql,比较方便的方法

  1. import numpy as np
  2. import pandas as pd
  3. from sqlalchemy import create_engine
  4. connect = create_engine('mysql+pymysql://root:123456@127.0.0.1:3306/StocksHistoryData?charset=utf8mb4')
  5. pd.io.sql.to_sql(stock_info_a_code_name_df, 'AllStockNo', connect, index=False, chunksize = None, if_exists='append')
参数 解释
name:string SQL表的名称。
con:sqlalchemy.engine.Engine或sqlite3.Connection 使用SQLAlchemy可以使用该库支持的任何数据库。为sqlite3.Connection对象提供了旧版支持。
schema:string,optional 指定架构(如果数据库支持)。如果为None,请使用默认架构。
if_exists:{‘fail’,’replace’,’append’},默认’fail’ 如果表已存在的情况如下,fail:引发ValueError。replace:在插入新值之前删除表。append:将新值插入现有表。
index:布尔值,默认为True 将DataFrame索引写为列。使用index_label作为表中的列名。
index_label:字符串或序列,默认为None 索引列的列标签。如果给出None(默认)且 index为True,则使用索引名称。如果DataFrame使用MultiIndex,则应该给出一个sequence。
chunksize:int,可选 行将一次批量写入的数量。默认情况下,所有行都将立即写入。
dtype:dict,可选 指定列的数据类型。键应该是列名,值应该是SQLAlchemy类型,或sqlite3传统模式的字符串。

不一定可以

  1. import pandas as pd
  2. import pymysql
  3. import sqlalchemy
  4. #连接MYSQL数据库
  5. db = pymysql.connect(host='127.0.0.1',user='root',password='123456',db='StocksHistoryData',port=3306,charset='utf8')
  6. df.to_sql(name='table',
  7. con=con,
  8. if_exists='append',
  9. index=False,
  10. dtype={'col1':sqlalchemy.types.INTEGER(),
  11. 'col2':sqlalchemy.types.NVARCHAR(length=255),
  12. 'col_time':sqlalchemy.DateTime(),
  13. 'col_bool':sqlalchemy.types.Boolean
  14. })