python 操作資料庫
阿新 • • 發佈:2020-07-24
#!/usr/bin/python # _*_ coding:utf-8 _*_ import pymysql import xlsxwriter #開啟資料庫連結 conn = pymysql.connect(host = '10.61.3.181',user = 'zabbix',password = 'zabbix',db = 'zabbix',port =3307,charset = 'utf8') #使用cursor()方法獲取操作遊標 #將屬性cursor設定為字典,預設為元組 #cursor = conn.cursor() #預設為元組 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) #將屬性cursor設定為字典 #定義查詢語句 sql = "select * from hosts" #執行SQL,返回受影響的行數,返回值為行數 row = cursor.execute(sql) print(row) #獲取查詢結果的第一行資料 row_1 = cursor.fetchone() print("列印獲取查詢結果的第一行資料:") print(row_1) #獲取查詢結果的前n行資料 row_2 = cursor.fetchmany(3) print("列印獲取查詢結果的前n行資料:") print(row_2) print("列印獲取查詢結果所有值:") #建立檔案 work_book = xlsxwriter.Workbook('4G路由器資訊.xlsx') #建立一個sheet work_book1 = work_book.add_worksheet() headings = ["ip地址","主機名"] #定義兩個列表IP,name ip = [] name = [] #獲取所有查詢結果 row_3 = cursor.fetchall() for i in range(len(row_3)): # print(row_3[i]) d = row_3[i] ip.append(d['host']) name.append(d['name']) # print(ip,name) data = [ip,name] #寫入標題 work_book1.write_row('A1',headings) #寫入資料(按照列寫) work_book1.write_column('A2',data[0]) work_book1.write_column('B2',data[1]) #關閉excel 檔案 work_book.close() #提交資料 conn.commit() #關閉遊標 cursor.close() #關閉資料庫連結 conn.close()