作者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