※ 引述《dreamtime (活在夢中)》之銘言:
: 各位大大你們好,小弟最近初學python,遇到了一些問題請教版上大神們
: 以下是我的csv檔內容,看網路上似乎轉成dictionary較為方便處理,所以我就把他轉成
: dictionary了
: https://imgur.com/oQy8gZi.jpg
這樣轉可能會有問題,因為你轉了很多個字典出來,但你要怎樣弄成一個資料集合?
所以我想的方法是弄成一個元素是字典的資料集合,像這樣
d = [{'id': '3345', 'Address': '19:26:74:F1:2A:48', 'RSSI': '-54'},
{'id': '3346', 'Address': '19:26:74:F1:2A:48', 'RSSI': '-53'},
{'id': '3347', 'Address': '19:26:74:F1:2A:48', 'RSSI': '-52'},
{'id': '3348', 'Address': '19:26:74:F1:2A:48', 'RSSI': '-51'},
{'id': '3349', 'Address': '19:26:74:F1:2A:48', 'RSSI': '-50'},
{'id': '3341', 'Address': '19:26:74:F1:2D:48', 'RSSI': '-54'},
{'id': '3342', 'Address': '19:26:74:F1:2D:48', 'RSSI': '-54'},
{'id': '3343', 'Address': '19:26:74:F1:2D:48', 'RSSI': '-54'},
{'id': '3344', 'Address': '19:26:74:F1:2D:48', 'RSSI': '-54'}]
這樣比較有辦法用迭代去處理
後來cutekid大大提點,如果你先處理好你的資料,你會更好處理後續的步驟
dict本身就有鍵唯一的特性,所以你將從csv讀入的資料弄成這樣的格式會更好處理
d = {'19:26:74:F1:2A:48':{'3345':'-54', '3346':'-53', ...}, ...}
這樣用Address作為鍵,就可以取出id與RSSI的字典,然後在排序鍵取值
: 我想要找到同一個address value中三個RSSI value而且要從 id value最大的開始找起,
: 當所有address value都被找到了,則停止。
: 例如: Address', '19:26:74:F1:2A:48' 應該要找到 id 3372,3371,3370的RSSI value
: -59,-55,-59
: 'Address', '12:3B:6A:1B:4A:2D'則是id 3369,3368,3363 RSSI value則分別
: -44,-46,-46
: 每個address的RSSI值都取到了,則可以不用找了。
: 小弟想做到的功能大概是這樣,之後取到的rssi值則拿進去演算法裡做計算。
: 請問版上大大該怎麼處理這個問題呢?