python3 讀取excel表中的數據並插入到數據庫中

#!/usr/bin/python
# -*- coding: utf-8 -*-
import pymysql
import pandas as pd
import sys

def get_assets():
    assets = pd.read_excel(sys.argv[1])
    ip = assets ['IP'].astype('str')
    price = assets ['金額'].astype('str')
    ip_price_dict  = dict(zip(ip,price))
    return ip_price_dict



def update_data():
    # 打開數據庫連接
    db = pymysql.connect("localhost","root","123456","cmdb" )
    # 使用cursor()方法獲取操作遊標 
    cursor = db.cursor()
     
     
    for key,value in ip_price_dict.items():
        print(value)
        sql1 = "SELECT * from assets_asset where manage_ip = '%s'" % (key)
        cursor.execute(sql1)
        result = cursor.fetchone()
     
        if result!=None:
            sql2 = "UPDATE assets_asset SET price = '%s' WHERE manage_ip = '%s'" % (value,key)
            try:
               # 執行sql語句
               cursor.execute(sql2)
               # 執行sql語句
               db.commit()
               print("update ok")
            except:
               # 發生錯誤時回滾
               db.rollback()
    # 關閉數據庫連接
    db.close()


if __name__ == '__main__':
    # 讀取excel數據
    ip_price_dict  = get_assets()

    # 插入數據
    update_data()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章