setp1:导包
import pymysql
setp2:
以你比较深厚的mysql基础功底,徒手写一个建表语句:
setting = ' (序号 INT NOT NULL PRIMARY KEY auto_increment,主分类 VARCHAR(500),次分类 VARCHAR(500),方向分类 VARCHAR(300),主仓位 VARCHAR(500),基金名称 VARCHAR(500),代码 VARCHAR(500),风险收益比 VARCHAR(500),当前推荐度 VARCHAR(500),特点 VARCHAR(500),1年收益率 VARCHAR(100),3年收益率 VARCHAR(100),5年收益率 VARCHAR(100),1年最大回撤 VARCHAR(100),3年最大回撤 VARCHAR(100),历史最大回撤 VARCHAR(100),可选组合及特点 VARCHAR(100))'
setp3:
写一个数据库链接函数
def getConn(database):
args = dict(host='',user='root',passwd='',db=database,charset='utf8mb4',local_infile=1)
conn = pymysql.connect(**args)
return conn
setp4:
建表函数:
def create_table(table_name):
conn = getConn(database)
cursor = conn.cursor()
create_sql = 'CREATE TABLE IF NOT EXISTS ' + table_name + setting
print(create_sql)
cursor.execute('use %s' % database)
cursor.execute(create_sql)
conn.commit()
del create_sql
return
setp4:
将csv导入mysql:
def load_csv(csv_file_path, table_name, database):
db = getConn(database)
cursor = db.cursor()
data_sql = "LOAD DATA LOCAL INFILE '%s' INTO TABLE %s character set gbk FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES" % (
csv_file_path, table_name)
cursor.execute('use %s' % database)
cursor.execute('SET NAMES utf8;')
cursor.execute('SET character_set_connection=utf8;')
cursor.execute(data_sql)
db.commit()
db.close()
setp5:
执行函数
if __name__ == '__main__':
database = '' #数据库名
tablename = "基金" #表名
csv_path = "C:/Users/Thinker/Desktop/今日基金涨幅.csv" #csv路径
create_table(tablename) #创建表
load_csv(csv_path,tablename,database) #导入csv