Ocacle方面,PLSQL可以利用自带的导入功能将txt格式文件导入表,但需要预先创建表结构。PLSQL导入功能还有一个好处是可以自动对齐字段,缺失的字段可以自动忽略,不会报错停止。
SQL server 自带的导入工具功能十分强大,可以使用导入平面工具直接将csv或者txt文件导入至数据库中,并且可以自动创建表和表结构。
而mysql方面,自带的工具是LOAD DATA 和 mysqlimport ,这两个工具的优势是能够快速的将大量数据导入至数据库中,同时需要预先创建好表结构。
如果我们想利用python将csv文件导入至数据库中并且自动创建表结构,该怎么办呢?接下来我们利用pymysql和pandas完成这项任务。
实际上,本方法同样适用于导入其他数据库(例如Oracle、MongoDB等),只需要调用不同的python-数据库接口
首先建立和数据库的连接
import pymysql
# 参数设置 DictCursor使输出为字典模式 连接到本地用户root 密码为666
config = dict(host='localhost', user='root', password='666',
cursorclass=pymysql.cursors.DictCursor
)
# 建立连接
conn = pymysql.Connect(**config)
# 自动确认commit True
conn.autocommit(1)# 设置光标
cursor = conn.cursor()
其次,利用pandas读取目标文件
这里为了示范,随便从网上下载了一个数据包:
http://quotes.money.163.com/trade/lsjysj_600508.html#01b07
import pandas as pd
# pandas读取