python读取csv文件存入mysql

本文介绍了一种从CSV文件读取数据并将其插入到MySQL数据库的方法。使用Python的pandas库读取CSV文件,然后通过MySQLdb库将数据批量插入到指定的数据库表中。文章详细展示了数据读取、格式转换及数据库操作的完整流程。

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

# -*- coding:utf-8 -*-
import pandas as pd
import MySQLdb
import sys
reload(sys)
sys.setdefaultencoding('utf8')
# 从csv文件中读取数据,分别为:X列表和对应的Y列表
def get_data(file_name):
    # 1. 用pandas读取csv
    data = pd.read_csv(file_name)
    # print (data)
    for factory_library_name,exchange_name,types,address,zip_code,contacts,phone,fax,e_mail,shipping_station_or_port,maxs,delivery_speed,benchmark_library,bwd,longitude,latitude,memo in zip(data['factory_library_name'],data['exchange_name'],data['types'],data['address'],data['zip_code'],data['contacts'],data['phone'],data['fax'],data['e_mail'],data['shipping_station_or_port'],data['maxs'],data['delivery_speed'],data['benchmark_library'],data['bwd'],data['longitude'],data['latitude'],data['memo']):
        dataList = [factory_library_name,exchange_name,types,address,zip_code,contacts,phone,fax,e_mail,shipping_station_or_port,maxs,delivery_speed,benchmark_library,bwd,longitude,latitude,memo]
        print (dataList)
        # 打开数据库连接
        conn = MySQLdb.Connect(
            host='。。。',
            port=3306,
            user='dac',
            passwd='dac',
            db='cmp_dac',  # 数据库名称
            charset='utf8'
        )
        # 使用cursor()方法获取操作游标
        cursor = conn.cursor()
        try:
            insertsql = "INSERT INTO t_delivery_factory_library(factory_library_name,exchange_name,types,address,zip_code,contacts,phone,fax,e_mail,shipping_station_or_port,maxs,delivery_speed,benchmark_library,bwd,longitude,latitude,memo) VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
            cursor.execute(insertsql,dataList)
            conn.commit()
            print ('okok')
        except Exception as e:
            print e
            conn.rollback()
        cursor.close()
        # 关闭数据库连接
        conn.close()


def main():
    # 1. 读取数据 如果是别的格式的文件 可以转换成csv格式
    get_data('C:/pcdata/zz.csv')




if __name__ == '__main__':
    main()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值