Pandas批量读取csv文件数据存入到Mysql中
尝试将一个100多兆的csv文件中的数据放到Mysql数据中,直接用pandas的read_csv()函数读取时报了内存超限的异常,原因是一次读入DataFrame的数据超过了最大接收的限制,用批量处理的方法解决了。
#!/usr/bin/env python1200多万条数据花了14分钟的样子。
# -*- coding: utf-8 -*-
# @File: ImportDataToMysql.py
# @Author: Small-orange
# @Date: 2019-12-13
# @Desc:将Excel中的数据导入到Mysql数据库中
#1.创建数据库连接
#2.测试数据库连接
【Pandas批量读取csv文件数据存入到Mysql中】#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 = https://www.it610.com/article/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--')
推荐阅读
- ExcelPackage读取写入
- springboot中.yml文件的值无法读取的问题及解决
- Arcgis根据经纬度批量提取属性值
- 批量获取win10的聚焦锁屏图片
- 2020-08-13|2020-08-13 同花顺证书批量下载
- C#(App.config读取自定义节点,未能加载文件或程序集)
- Pandas(数据清洗)
- Metal|Metal 案例03(大批量顶点数据的图形渲染)
- pandas使用
- Vue+jszip+file-saver|Vue+jszip+file-saver 实现el-table中qrcode生成的二维码图片批量打包成zip下载