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

该博客介绍如何通过Python脚本将CSV文件的内容逐条读取并插入到MySQL数据库中,提供了一个基本的实现例子,特别适用于数据迁移或数据加载场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要思路:
将我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 = 80
可以使用Python中的pandas库和MySQLdb库来实现将csv文件导入到MySQL数据库中的操作,具体步骤如下: 1. 安装pandas库和MySQLdb库: ```python !pip install pandas !pip install mysqlclient ``` 2. 导入需要的库: ```python import pandas as pd import MySQLdb ``` 3. 读取csv文件并将数据存储在DataFrame对象中: ```python data = pd.read_csv('your_csv_file.csv') ``` 4. 建立与MySQL数据库的连接: ```python conn = MySQLdb.connect(host='your_host', port=your_port, user='your_username', passwd='your_password', db='your_database') ``` 5. 将数据写入MySQL数据库: ```python data.to_sql(name='your_table_name', con=conn, if_exists='replace', index=False) ``` 以上代码中,name参数表示要写入的表名,con参数表示与数据库建立的连接对象,if_exists参数表示如果表已经存在则替换原有表,index参数表示不需要将DataFrame对象的索引写入数据库。 完整代码如下: ```python import pandas as pd import MySQLdb # 读取csv文件并将数据存储在DataFrame对象中 data = pd.read_csv('your_csv_file.csv') # 建立与MySQL数据库的连接 conn = MySQLdb.connect(host='your_host', port=your_port, user='your_username', passwd='your_password', db='your_database') # 将数据写入MySQL数据库 data.to_sql(name='your_table_name', con=conn, if_exists='replace', index=False) # 关闭连接 conn.close() ``` 注意:在执行以上代码之前,需要先在MySQL数据库中创建好对应的表,使其与csv文件中的列名一致。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值