作者MAXCAI (國王的抽鬼牌)
看板Python
標題[問題] 搜尋格多條件搜尋問題
時間Fri Apr 20 23:26:20 2018
最近剛接觸Python,想把原本用VBA寫的EXCEL工作表轉成Python當成練習
其中有一個搜尋格以前是寫成''多條件搜尋'',換成Python後也想寫出一樣功能
希望功能是 CSV檔內容
上海A,AD-123
上海C,CD-123
廈門D,EF-123
輸入上海 會顯示 上海A AD-123 上海B CD-123
輸入123 會顯示 上海A,AD-123 上海C,CD-123 廈門D,EF-123
但是卻遇到問題 程式碼如下:
https://i.imgur.com/oqfLdpR.jpg
https://i.imgur.com/NvbrSQY.jpg
夜深了~看到程式碼笑小聲一點......
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.140.10.23
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1524237983.A.837.html
1F:→ gmccntzx1: 先根據錯誤訊息回答. 該訊息指的是變數`Linda`在被指派 04/20 23:37
2F:→ gmccntzx1: 值之前就被參照了. 也就是說,在line 264前,必須要先有 04/20 23:37
3F:→ gmccntzx1: 指派東西給變數`Linda`的動作. 04/20 23:37
4F:→ gmccntzx1: 然後另外給你一些建議: 04/20 23:38
5F:→ gmccntzx1: 1. 不要用中文當作變數名稱(雖可以這麼做,但還是不要) 04/20 23:38
6F:→ MAXCAI: 感謝回答~我自己也已為被指派了,但是認真確認過,沒有.. 04/20 23:39
7F:→ gmccntzx1: 2. 盡量給變數一些有意義的名稱,不要只是用A,B,C(不只 04/20 23:40
8F:→ MAXCAI: 我還用excel去搜程式碼... 04/20 23:40
9F:→ gmccntzx1: 是要幫助別人看code時更快,也是為了幫助未來的自己) 04/20 23:40
10F:→ gmccntzx1: 3. 圖中 `資料列.insert(...)`這兩行後面應該可以改寫 04/20 23:42
11F:→ gmccntzx1: 的簡潔一點,試著想想看怎麼做. 04/20 23:42
12F:→ MAXCAI: 是!謝謝前輩指教,我會注意的! 04/20 23:43
13F:→ gmccntzx1: 你先確認在`for k in colimns`那一段的`Linda=List( 04/20 23:44
14F:→ gmccntzx1: set(maxcai))`為何會沒有執行到. 04/20 23:45
15F:→ MAXCAI: 把maxcai=[]後面這段拉出來單獨運行是正常的... 04/21 00:05
16F:→ MAXCAI: 這就是我頭痛的地方 04/21 00:05
17F:→ gmccntzx1: 從頭開始看. `for C in BLIST`是否有執行? 有的話檢查 04/21 00:16
18F:→ gmccntzx1: colimns7是否不是empty list. 04/21 00:17
19F:→ gmccntzx1: 然後補充一點,`all`是內建的keyword,最好不要當作變數 04/21 00:18
20F:→ gmccntzx1: 名稱. 04/21 00:18
21F:→ MAXCAI: 好!我檢查看看 04/21 00:39
22F:推 Kazimir: 個人看法 這個要是用RE來弄應該會簡單很多 04/21 08:16
23F:→ MAXCAI: 剛剛去查了一下,似乎可行,來試試看! 04/21 12:17