广告位联系
返回顶部
分享到

使用python将csv数据导入mysql数据库

python 来源:互联网 作者:秩名 发布时间:2024-05-04 22:29:44 人浏览
摘要

在前面章节介绍过,我们处理的防火墙规则数据,数据清洗处理后,会产生几类表,以csv形式保存。在接下来的开发测试中,前台页面开始需要用到一些数据,此时我们就需要将csv中数据添加

在前面章节介绍过,我们处理的防火墙规则数据,数据清洗处理后,会产生几类表,以csv形式保存。在接下来的开发测试中,前台页面开始需要用到一些数据,此时我们就需要将csv中数据添加到mysql数据库中。在真实生产环境下,我们的防火墙规则可能数以万计,同时展开后的规则条数会更多,导入数据时间一般很长。这种情况下我们可以通过使用python脚本,放在后台自动导入。

二、python导入数据库示例

1、安装必要的库: 首先,确保已经安装了 pandas 和 mysql-connector-python 这两个库,可以使用 pip 进行安装:

1

pip install pandas mysql-connector-python

2、连接到 MySQL 数据库: 在 Python 中,使用 mysql-connector-python 库连接到 MySQL 数据库:

1

2

3

4

5

6

7

8

9

10

11

12

import mysql.connector

 

# 连接到 MySQL 数据库

mydb = mysql.connector.connect(

    host="localhost",

    user="yourusername",

    password="yourpassword",

    database="yourdatabase"

)

 

# 创建游标对象

cursor = mydb.cursor()

这里需要替换 localhost、yourusername、yourpassword 和 yourdatabase 为你的 MySQL 服务器地址、用户名、密码和数据库名称。

3、读取 CSV 文件: 使用 pandas 库读取 CSV 文件:

1

2

3

import pandas as pd

???????# 读取 CSV 文件

df = pd.read_csv("data.csv")

4、将数据插入到 MySQL 数据库中:

1

2

3

4

5

6

7

# 遍历 DataFrame 中的每一行,并将数据插入到 MySQL 数据库中

for index, row in df.iterrows():

    sql = "INSERT INTO your_table_name (column1, column2, column3, ...) VALUES (%s, %s, %s, ...)"

    values = (row['column1'], row['column2'], row['column3'], ...)

    cursor.execute(sql, values)

???????# 提交更改

mydb.commit()

your_table_name 需要替换为目标表的名称, column1、column2、column3 等与 CSV 文件中的列名相对应。根据数据量,可以调整 SQL 查询和值的数量。

5、关闭连接: 在完成数据插入后,记得关闭连接:

1

2

3

# 关闭游标和数据库连接

cursor.close()

mydb.close()

这样,就可以使用 Python 将 CSV 数据成功导入到 MySQL 数据库中了。确保在操作之前备份数据库以及 CSV 文件,以避免意外数据丢失。

三、防火墙查询页面数据导入脚本示例

sql.py

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

# -*- coding: UTF-8 -*

import pymysql

import time, datetime

  

localdatetime= time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))

print(localdatetime)

print('开始导入数据!')

  

         

def netfw_SQL():

    sql_conn = pymysql.connect(host='127.0.0.1', port=3306, user='root',

                           password='XXXXX', db='fwtest', charset='utf8', connect_timeout=1000)

    #创建数据库对象

    cursor = sql_conn.cursor()

     

    with open('netfirewalls.csv', encoding='utf-8') as line_1:

        #依次读取CSV文件的每一行

        for line_2 in line_1.readlines():

            #strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列

            line_2 = line_2.strip()

            #split() 通过指定分隔符对字符串进行切片,这里指定',',而“-1”表示分隔所有

            list_1 = line_2.split(',', -1)

            #执行插入表数据语句

            sql_2 = 'INSERT INTO netfirewalls (fwname, rulename, rulenum, description, action, disable, sourcezone, destzone, sourceip, destip, service) VALUE(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)'

            cursor.execute(sql_2, (list_1[0], list_1[1], list_1[2], list_1[3], list_1[4], list_1[5], list_1[6], list_1[7], list_1[8], list_1[9], list_1[10]))

    sql_conn.commit() #提交事务

    sql_conn.close() #关闭连接

    localdatetime= time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))

    print(localdatetime)

    print('网络防火墙原规则数据导入完毕!')

     

  

#执行自定义函数CSV_SQL()

if __name__ == '__main__':

    netfw_SQL()


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • Python正则表达式re . 符号示例介绍
    正文 用法说明:(点号) 在默认模式下,匹配除换行符以外的任意字符。 如果指定了flags参数DOTALL,它将匹配包括换行符在内的任意字符。
  • 使用python将csv数据导入mysql数据库
    在前面章节介绍过,我们处理的防火墙规则数据,数据清洗处理后,会产生几类表,以csv形式保存。在接下来的开发测试中,前台页面开始
  • Python编写简化版的文字冒险游戏的代码
    文字冒险游戏:迷失的宝藏,这个游戏将包含基本的游戏循环、玩家输入处理、游戏状态管理和一些简单的故事情节。 文字冒险游戏:迷失
  • Python实现图数据处理
    在图论和网络分析中,图是一种非常重要的数据结构,它由节点(或顶点)和连接这些节点的边组成。在Python中,我们可以使用邻接矩阵来
  • 使用Python实现视频封面批量下载器

    使用Python实现视频封面批量下载器
    在视频网站上,每个视频都有一个独特的封面图像,它们通常是吸引人的缩略图,用于代表视频内容。有时候,我们可能需要批量下载许多
  • python自动化生成ppt的实现代码

    python自动化生成ppt的实现代码
    使用Python和python-pptx创建PPT 在这篇博客中,我们将探讨如何使用Python库`python-pptx`来创建一个简单的PowerPoint演示文稿(PPT)。这个库允许我们
  • 使用Matplotlib创建漂亮的数据可视化图表
    使用 Matplotlib 创建漂亮的数据可视化图表 在数据科学和机器学习领域,数据可视化是一项至关重要的任务。它不仅可以帮助我们更好地理解
  • 利用Python将原始边列表转换为邻接矩阵的过程
    在图论和网络分析中,图是一种非常重要的数据结构,它由节点(或顶点)和连接这些节点的边组成。在Python中,我们可以使用邻接矩阵来
  • 使用python创建和结束线程的介绍
    python创建线程和结束线程 在 Python 中,线程是一种轻量级的执行单元,允许我们在程序中同时执行多个任务。线程的创建和结束是多线程编
  • python中ctypes使用方法介绍
    前段时间接到了一个需求是给一个蓝牙的SDK测试接口的稳定性,将SDK的接口文档给你了,需要每个接口都写一个对应的测试用例,SDK 是用
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计