美文网首页
从csv文件中读取内容写入mysql(包括时间类型的数据转换)

从csv文件中读取内容写入mysql(包括时间类型的数据转换)

作者: Odven | 来源:发表于2020-03-19 13:36 被阅读0次

#!/usr/bin/env python3

# _*_ coding:utf-8 _*_

import pymysql

from datetime import datetime

import logging

# 配置logging

logging.basicConfig(level=logging.WARNING,filename="./log.log", format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')

logger = logging.getLogger(__name__)

# 利用pymysql连接数据库

conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", password="123456", db="test", charset="utf8")

cur = conn.cursor()

# 设置一个空列表保存数据

line_list = []

# 从csv文件中读取整理数据

with open("new_bb.txt", "r")as f:  # 文件中的数据格式是  2019/05/16 17:36:02,113,207.46.13.30

for line in f:  # 以行为单位读取csv文件的内容

    line = line.split(",")

    a = datetime.strptime(line[0], "%Y/%m/%d %H:%M:%S")  # 把字符格式的时间转换为mysql数据库datatime类型认识的时间类型

    b = line[1]

    c = line[-1].strip()

    line = (int(b), c, a)

    line_list.append(line)  # 出家数据到line_list列表

print(len(line_list))

for row in line_list:

    sql ="insert into history_blacklist_ip(access_num,access_ip,create_time) value(%s,%s,%s)"

    params = row

    line = sql % params

    try:

        cur.execute(sql, params)

        conn.commit()

    except Exception as e:

        conn.rollback()

        print(line)

        logger.warning(e)

        logger.warning(line)

conn.close()

相关文章

网友评论

      本文标题:从csv文件中读取内容写入mysql(包括时间类型的数据转换)

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