涉及到两个包:sqlalchemy 与 pymysql
单用sqlalchemy包中的engine可以快速把当前目录下所有的csv文件导入数据库
import os
import pandas as pd
from sqlalchemy import create_engine
#连接数据库函数
def engine(db_name):
engine = create_engine('mysql+pymysql://root:lcx121@localhost/{}'.format(db_name), encoding='utf-8')
return engine
#创建csv文件
def readFile_to_sql(db_name):
try:
#获取当前路径
cwd = os.getcwd()
#遍历当前路径,路径,文件全部爬去出来
for dirpaths, dirnaames,filenames in os.walk(cwd):
#dirpaths路径,dirnaames文件夹的名字,filenames所有文件的名字
#判断csv文件是否存在
for filename in filenames:
if filename.endswith(".csv"):
#读取文件
df = pd.read_csv(filename,encoding="utf8",sep=',',dtype={'code':str})
table_name = filename.split('.')[0]
#直接写入数据库,'table_name'为表名,会自动创建一个表,不需要自己动手创建
#to_