作者nsay (夢載會)
看板Python
標題Re: [問題] 為什麼有動作,但還是空白
時間Tue Feb 8 13:28:04 2022
※ 引述《euser1777 (YY)》之銘言:
: 感謝各位解答,程式更新如右 https://github.com/cj044/Qtrandom
: 希望寫成的目標如圖片:https://imgur.com/IrX3bmX
: 但是目前加入兩段功能後
: 遇到很多問題
: 1.問題圖片如下:
: https://imgur.com/mDxLVRF 不知道為什麼?
: 寫到這兩段功能,a 抽樣數據後存入CSV檔案 b.全班數據存入CSV檔案
: 都顯示呼叫功能,沒有這屬性?
: 2.像是顯示在螢幕功能的代碼都是一樣,能否優化?
: 謝謝!
https://github.com/Saxo0213/Qtrandom/blob/main/VIP-Qtrandom-TEST.py
我也是新手,因為最近也在研究檔案存取的機制所以有點興趣
首先是有關內建的CSV讀取功能
假設CSV有兩行
--
高雄,左營,
高雄,三民,
--
rows = csv.reader(csvfile, delimiter=',')
^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^
變數 套件功能 讀取的分隔方式(用,分隔資料)
一般讀取是以 ","做分隔
但因為我們整行資料有獨立性
所以我們要整行讀取
小list-單行儲存
v
所以他讀取出來的rows=[["高雄","左營"],["高雄","三民"]]
^ ^
大LIST-各行儲存 讀取出來的資料 str
是一個list中還有list的狀況
for row in rows:
self.class_info.append(row)
將位置row存入list
小list儲存各行資料
v
這裡self.class_info 會變成 [["高雄","左營"],["高雄","三民"]]
^ ^ ^
大list-各行儲存 符合原本各行的兩個單獨資料
以上是為了顯示在螢幕上的功能做準備
第一次用QT,參考前面前輩的說明
QStringListModel() 是一個只接受包含str的list
從rows讀出來的當然不能符合
所以我們的資料在輸入到QStringListModel()前
要先把各行的資料做處理再輸出給他
函式傳入我們要顯示的資料
v
def show_list(self,list):#顯示在螢幕
pf=[]
for l in list:
pf.append(",".join(l))
^^
定義一個臨時的list
把小list轉成str
轉換完的pf=["高雄,左營","高雄,三民"]
^ ^
大LIST list 內的 str
這樣listView在顯示資料就沒有問題了
我自己在學習都是翻網路資源
寫程式我覺得至少型態轉換要弄懂
再來就是型態的組合拆分功能
有關list 我是看這網頁
https://selflearningsuccess.com/python-list/
有關str 我是看這網頁
https://selflearningsuccess.com/pythonstring/
是不知道 CSV讀取的分隔方式可不可以多重設定
有機會在繼續研究
應該還有更好的寫法,在請前輩們指導了
至於原PO想要優化的部分
我有大概整理全部的code 應該有符合需求
有也幫你 補上開啟檔案的方式選擇CSV
你再參考看看.....
學習新的指令套件真燒腦
不過QT真的刻UI好像比較方便點
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.194.95 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1644298089.A.29E.html
→ nsay: 忘了說 原本原PO對應的UI名稱有些有問題 所以UI檔我也有調 02/08 13:34
→ nsay: 開啟檔案就先處理list格式,是方便資料可以另外做其他處理 02/08 13:39
※ 編輯: nsay (122.117.194.95 臺灣), 02/08/2022 14:19:16
推 lycantrope: csv.reader設delimiter="," 就是分行讀取後用,分隔 02/08 14:22
→ lycantrope: 只是原po有點伸手牌,懶得回... 02/08 14:23
→ nsay: 恩,後來有去翻技術文件,我原本以為是設定的問題,結果只是 02/08 14:28
→ nsay: 我其他函式忘記做轉換 02/08 14:28
→ nsay: 剛好研究一下CSV跟QT有啥內容也挺好玩的=3=,接觸py3個月玩 02/08 14:29
→ nsay: 玩的很開心 02/08 14:29
推 euser1777: 謝謝解答! 雖然自己最後有寫出來,但是寫的不是很好! 02/12 09:52