作者josefy (醉落~最弱)
看板Python
標題Re: [討論] 過濾資料(多重條件)
時間Tue Jul 5 21:32:28 2011
感謝!!
但請問一下 要如何加入 若是讀取到EFG 也要存入content
且 ABC EFG 兩列data 順序是跟raw data一樣?
: 我自己會這樣做, 因為findall真的太慢了
: import commands
: content = commands.getoutput('grep ABC data')
: ..
: ..
: ..
: 之後再對content做處理
: 也許這樣的方法有點笨, 但是應該會比findall來的快多了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.169.168.17
1F:→ ya790206:你是找到EFG就把EFG那一列存起來? 07/05 21:35
2F:→ suzuke:coomands.getoutput("grep '[ABC|EFG]' data") 07/05 21:39
3F:→ suzuke:commands 07/05 21:39
4F:→ suzuke:囧" 這樣好像會失敗... 07/05 21:40
5F:→ suzuke:只有有單獨的A,B,C,E,F,G都會search到... 07/05 21:40
6F:→ suzuke:sorry 07/05 21:40
7F:→ josefy:對 我希望可以這樣 找到ABC 存ABC 找到EFG就存EFG 07/05 21:41
8F:→ josefy:保留raw data順序 過濾掉其他我不想看的資訊 07/05 21:42
9F:→ kdjf:給grer regex: ('grep -e "ABC\|EFG" data') 07/05 21:44
10F:→ kdjf: grep 07/05 21:44
11F:推 suzuke:commands.getoutput("grep 'ABC\|EFG' data") 07/05 21:44
12F:→ suzuke:啊哈kd大先推了~ 大概就是多重匹配的方法 07/05 21:45
13F:→ suzuke:應該這樣就可以處理了 07/05 21:46
14F:推 ya790206:我剛測試一下,grep -o 'ABC\EFG' data比較符合原po 07/05 21:58
15F:→ suzuke:@樓上, 我用你的grep不到任何東西耶 07/05 22:00
16F:→ suzuke:你應該少了| 07/05 22:00
17F:→ ya790206:我不知道為啥|不見了QQ,可能手殘刪了XD 07/05 22:03
18F:→ josefy:嗯 感謝大家!! 我成功了!!!! 07/05 22:06
19F:→ josefy:可以請問一下 \的用意是甚麼? 07/05 22:18
20F:→ ya790206:告訴grep接下來一個字元有特殊意義 07/05 22:26
21F:→ suzuke:\在正規表示中代表跳出的意思, 緊接在\之後的字元通常都是 07/05 22:33
22F:→ suzuke:特殊字元, 或者在正規表示中已經被拿來表示某些意義 07/05 22:33
23F:→ suzuke:例如*表示零個或多個, 可以利用\*跳出*本身的用途 07/05 22:35
24F:→ suzuke:ex:要找'*'字元grep '*' data是無法的, 需要grep '\*' data 07/05 22:37
25F:→ josefy:嗯 瞭解 謝謝各位的詳細解答 07/05 22:40