作者cryinrain (哑猫)
看板Python
标题Re: [问题]抓取CSV档特定资料
时间Mon Aug 13 21:29:30 2018
※ 引述《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值则拿进去演算法里做计算。
: 请问版上大大该怎麽处理这个问题呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.39.51.176
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1534166973.A.221.html
※ 编辑: cryinrain (114.39.51.176), 08/13/2018 22:15:50