#!/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()