通过PYTHON 将CSV 文件导入到MySQL 数据库

主要思路:
将我csv数据一行一行读入到Python中,然后用insert 语句逐条插入到数据库中,以下是一个简单的列子

数据文件t.csv:
bid,bid_type
未发布,0
正招标,1
拒绝发布,2
满标,3
通过,4
拒绝满标,5
流标,6
退标,7
正在担保,8
已签约,9
已签约满标拒绝,10
待审核,20
审核拒绝,21
理财计划收集标,11
import pymysql

conn = pymysql.connect(
    host = 'localhost',
    user = 'root',
    password = '',
    database = 'course'
)
cursor = conn.cursor()
sql_create = '''
create table if not exists bid  (bid varchar(225), bid_type int);
'''
cursor.execute(sql_create)
cursor.execute('truncate  bid;')
sql_insert = '''
insert into bid value(%s, %s);
'''

with open('t.csv', mode= 'rt', encoding='GBK') as f:
    while f.readline():
        res = f.readline().strip().split(',')
        if res != ['']:
            cursor.execute(sql_insert,[res[0], res[1]])
            print(res)
    conn.commit()
    cursor.close()
    conn.close()

导如到presto

from pyhive import presto

conn = presto.connect(
        host = '172.0.0.1',
        port = 8080,
        username = '***',
        schema = '***'
)

cursor = conn.cursor()
# sql_create = '''
# drop table if exists finance_tmp.bid
# '''
# cursor.execute(sql_create)
# cursor.execute('CREATE table finance_tmp.bid (bid varchar(225), bid_type varchar(225))')

sql_insert = '''
insert into finance_tmp.bid values(%s, %s)
'''

with open('t1.csv', mode= 'rt', encoding='utf-8') as f:
    while f.readline():
        res = f.readline().strip().split(',')
        if res != ['']:
            cursor.execute(sql_insert,[res[0], res[1]])
    conn.commit()
    cursor.close()
    conn.close()

你可能感兴趣的:(Python算法初级)