python:读取excel数据
生活随笔
收集整理的這篇文章主要介紹了
python:读取excel数据
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
# -*- coding: utf-8 -*-from tkinter import ttk
from tkinter import *
import pyodbcdef data_acquire():sql1 = "select * from display_board "print("type(sql1)", type(sql1)) # type(sql1) <class 'str'>result = cursor.execute(sql1) # 調(diào)用游標(biāo)指針的execute方法執(zhí)行sql語(yǔ)句 type(result) <class 'pyodbc.Cursor'># 獲取第一行數(shù)據(jù)row = cursor.fetchone() # sql語(yǔ)句執(zhí)行結(jié)果的獲取,如果需要一次獲取多條記錄,可以使用cursor.fetchall()方法# cursor.fetchone()執(zhí)行結(jié)果“<class 'list'>”# result < pyodbc.Cursor object at 0x00000234853A0B30 ># 第一行數(shù)據(jù)獲取if row:print("row", row)print("row[0]", row[0])print("row[1]", row[1])print("row[2]", row[2])# 第一行之外數(shù)據(jù)獲取rown = cursor.fetchall()''' print("type(rown)", type(rown)) # type(rown) <class 'list'>print("rown[0]", rown[0])print("rown[0][0]", rown[0][0])print("rown[0][1]", rown[0][1])print("rown[0][2]", rown[0][2])print("rown[-1]", rown[-1])print("rown[-1][0]", rown[-1][0])print("rown[-1][1]", rown[-1][1])print("rown[-1][2]", rown[-1][2])print("result", result)'''cursor.execute(sql1)connect.commit()# .........................................................................篩選記錄加載Production_mode = [row[0], rown[0][0], rown[-1][0]]Equipment_no = [row[1], rown[0][1], rown[-1][1]]Date = [row[2], rown[0][2], rown[-1][2]]for i in range(min(len(Production_mode), len(Equipment_no), len(Date))): # 寫(xiě)入數(shù)據(jù)treeview.insert('', i, values=(Production_mode[i], Equipment_no[i], Date[i]))# treeview.bind('<Double-1>', set_cell_value) # 雙擊左鍵進(jìn)入編輯newb = ttk.Button(root, text='新建聯(lián)系人', width=20) # command=newrownewb.place(x=120, y=(len(Production_mode) - 1) * 20 + 45)'''
def treeview_sort_column(tv, col, reverse): # Treeview、列名、排列方式l = [(tv.set(k, col), k) for k in tv.get_children('')]l.sort(reverse=reverse) # 排序方式# rearrange items in sorted positionsfor index, (val, k) in enumerate(l): # 根據(jù)排序后索引移動(dòng)tv.move(k, '', index)tv.heading(col, command=lambda: treeview_sort_column(tv, col, not reverse)) # 重寫(xiě)標(biāo)題,使之成為再點(diǎn)倒序的標(biāo)題def set_cell_value(event): # 雙擊進(jìn)入編輯狀態(tài)for item in treeview.selection():# item = I001item_text = treeview.item(item, "values")# print(item_text[0:2]) # 輸出所選行的值column = treeview.identify_column(event.x) # 列row = treeview.identify_row(event.y) # 行cn = int(str(column).replace('#', ''))rn = int(str(row).replace('I', ''))entryedit = Text(root, width=10 + (cn - 1) * 16, height=1)entryedit.place(x=16 + (cn - 1) * 130, y=6 + rn * 20)def saveedit():treeview.set(item, column=column, value=entryedit.get(0.0, "end"))entryedit.destroy()okb.destroy()okb = ttk.Button(root, text='OK', width=4, command=saveedit)okb.place(x=90 + (cn - 1) * 242, y=2 + rn * 20)def newrow():name.append('待命名')ipcode.append('IP')treeview.insert('', len(name) - 1, values=(name[len(name) - 1], ipcode[len(name) - 1]))treeview.update()newb.place(x=120, y=(len(name) - 1) * 20 + 45)newb.update()
'''connect = pyodbc.connect(r'DRIVER={SQL Server Native Client 10.0};'r''r'SERVER=(local);'r''r'DATABASE=DBtest;UID=sa;PWD=726803')
cursor = connect.cursor()
root = Tk() # 初始框的聲明columns = ("Production_mode", "Equipment_no", "Date")
treeview = ttk.Treeview(root, height=18, show="headings", columns=columns) # 表格treeview.column("Production_mode", width=100, anchor='center') # 表示列,不顯示
treeview.column("Equipment_no", width=300, anchor='center')
treeview.column("Date", width=100, anchor='center')treeview.heading("Production_mode", text="Production_mode") # 顯示表頭
treeview.heading("Equipment_no", text="Equipment_no")
treeview.heading("Date", text="Date")data_acquire()for col in columns: # 綁定函數(shù),使表頭可排序treeview.heading(col, text=col, command=lambda _col=col: treeview_sort_column(treeview, _col, False))root.mainloop() # 進(jìn)入消息循環(huán)
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
總結(jié)
以上是生活随笔為你收集整理的python:读取excel数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 深度学习:背景建模高斯混合模型
- 下一篇: Python:Django开发函数笔记: