美文网首页
python读取cvs文件数据并写入数据库

python读取cvs文件数据并写入数据库

作者: myFamily329 | 来源:发表于2018-11-06 11:05 被阅读0次
    说明:因项目需求,需要从open Image数据集下载某一类数据集到本地,所以在下载相关的cvs文件后,想要从数据库层面处理得到的cvs文件,并查询得到相关图像的url地址。此篇文章主要记录读取cvs文件数据并存入到数据库的过程。
    1. 前提说明
    • 开启mysql服务器
    • 建立数据数据库
    • 建立数据表
    • 导入python包
    import pymysql
    import csv
    import codecs
    
    2.python链接数据库
    conn = pymysql.connect(host='localhost', port=3306, user='数据库用户', passwd='密码', db='数据库名称', charset='utf8')
    
    3. python读取cvs数据
    • 本任务需求:把表格的第一列,第11列数据存入到数据库
    • 数据库“competition”
    • 数据库表“c_image”:ImageID,ThumbURL
    • 表格的内容及样式


      Image表格信息
    # 定义读取文件的函数 filename参数为要读取的表格名称
    def readCVS(filename):
        with codecs.open(filename=filename, mode='r', encoding='utf-8') as f:
            reader = csv.reader(f)
            # 获取了第一行数据(操作的image表可知第一行为title,所以不存入数据库),没有做任何动作,之后的for循环直接从第二行开始读取执行
            next(reader)
            conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='123456', db='competition', charset='utf8')
            cur = conn.cursor()
            sql = 'insert into c_image values(%s,%s)'
            for item in reader:
               '''读取图像表格的第1列,和第11列并转换为元组,其中注意(item[0], item[10])组合之后再元组'''
                args = tuple((item[0], item[10]))
                print(args)
                cur.execute(sql, args)
    
            conn.commit()
            cur.close()
            conn.close()
    
    4.补充说明
    • 读取文件所需几列存储数据库表
      直接使用上面方式即可args = tuple((item[0], item[10]))
      -读取文件所有列存储数据库表
      args = tuple(item)
    获取到的所有静态链接如何下载到本地,内容见下篇Python读取TXT文件中的URL并下载文件

    相关文章

      网友评论

          本文标题:python读取cvs文件数据并写入数据库

          本文链接:https://www.haomeiwen.com/subject/wxmyxqtx.html