美文网首页
Pandas批量读取csv文件数据存入到Mysql中

Pandas批量读取csv文件数据存入到Mysql中

作者: 小橙子_43db | 来源:发表于2019-12-28 11:52 被阅读0次

    尝试将一个100多兆的csv文件中的数据放到Mysql数据中,直接用pandas的read_csv()函数读取时报了内存超限的异常,原因是一次读入DataFrame的数据超过了最大接收的限制,用批量处理的方法解决了。

    #!/usr/bin/env python

    # -*- coding: utf-8 -*-

    # @File  : ImportDataToMysql.py

    # @Author: Small-orange

    # @Date  : 2019-12-13

    # @Desc  :将Excel中的数据导入到Mysql数据库中

    #1.创建数据库连接

    #2.测试数据库连接

    #3.读入数据

    #4.将数据写入数据库

    import pandas as pd

    from sqlalchemy import create_engine

    import time

    #创建数据库连接

    engine = create_engine('mysql+pymysql://root:123456@localhost:3306/demo01?charset=utf8')

    #读取表--测试数据库连接

    result = pd.read_sql_table('testdemo_test',con=engine)

    #读入Excel中的数据

    # fliename = r'C:\Users\cfc\Desktop\数据分析\Python\数据集\tianchi_mobile_recommend_train_user.csv'

    data = pd.read_csv(r'C:\Users\cfc\Desktop\数据分析\Python\数据集\tianchi_mobile_recommend_train_user.csv',encoding='gbk',chunksize=100000)

    # data.to_sql('BI招聘岗位信息',con=engine,if_exists='append')

    for chunk in data:

        #将读取的数据写入Mysql

        chunk.to_sql('train_user',con=engine,if_exists='append')

    print('运行时间:' , time.clock()-start)

    print('--success--')

    1200多万条数据花了14分钟的样子。

    相关文章

      网友评论

          本文标题:Pandas批量读取csv文件数据存入到Mysql中

          本文链接:https://www.haomeiwen.com/subject/evyfnctx.html