Python论坛  - 讨论区

标题:[python-chinese] 请教一个问题,脚本编程时候的大数据量比较问题

2007年10月26日 星期五 12:35

zongzi honghunter在gmail.com
星期五 十月 26 12:35:03 HKT 2007

我现在需要从十几万条数据(文本文件中的行)中,提取有特定关键字的记录,然后刷选出这些记录的特定位置重复的记录。

这是一个桌面使用的脚本,系统维护工作中使用的。

我本来是想直接放进数组,然后一个一个比较的。

但是突然觉得那样就算不会超出数组大小的上限,也是非常没有效率的。

所以想请教一下各位,有啥好的处理思路吗?



-- 
这是一个有钱人的世界,与我的世界截然不同!
blog:http://www.dps4e.com/b/ & http://blog.dps4e.com
饭否? http://fanfou.com/zongzi
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20071026/539b64fe/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月26日 星期五 12:41

Shao Feng sevenever在gmail.com
星期五 十月 26 12:41:24 HKT 2007

我想到一个办法,放进数据库,用SQL做。
10w条数据你的这种查询对oracle这种数据库是小菜一碟。

On 10/26/07, zongzi <honghunter在gmail.com> wrote:
>
> 我现在需要从十几万条数据(文本文件中的行)中,提取有特定关键字的记录,然后刷选出这些记录的特定位置重复的记录。
>
> 这是一个桌面使用的脚本,系统维护工作中使用的。
>
> 我本来是想直接放进数组,然后一个一个比较的。
>
> 但是突然觉得那样就算不会超出数组大小的上限,也是非常没有效率的。
>
> 所以想请教一下各位,有啥好的处理思路吗?
>
>
>
> --
> 这是一个有钱人的世界,与我的世界截然不同!
> blog:http://www.dps4e.com/b/ & http://blog.dps4e.com
> 饭否? http://fanfou.com/zongzi
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20071026/585be16c/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月26日 星期五 12:43

vicalloy zbirder在gmail.com
星期五 十月 26 12:43:37 HKT 2007

丢到set中再取出来就ok了。

在 07-10-26,zongzi<honghunter在gmail.com> 写道:
> 我现在需要从十几万条数据(文本文件中的行)中,提取有特定关键字的记录,然后刷选出这些记录的特定位置重复的记录。
>
> 这是一个桌面使用的脚本,系统维护工作中使用的。
>
> 我本来是想直接放进数组,然后一个一个比较的。
>
> 但是突然觉得那样就算不会超出数组大小的上限,也是非常没有效率的。
>
> 所以想请教一下各位,有啥好的处理思路吗?
>
>
>
> --
> 这是一个有钱人的世界,与我的世界截然不同!
> blog:http://www.dps4e.com/b/ & http://blog.dps4e.com
> 饭否? http://fanfou.com/zongzi
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>


-- 
Blog http://vicalloy.spaces.live.com/
My googlepage http://vicalloy.googlepages.com/
OldPhoto http://www.lzpian.com/

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月26日 星期五 12:43

Leo Jay python.leojay在gmail.com
星期五 十月 26 12:43:56 HKT 2007

On 10/26/07, zongzi <honghunter在gmail.com> wrote:
> 我现在需要从十几万条数据(文本文件中的行)中,提取有特定关键字的记录,然后刷选出这些记录的特定位置重复的记录。
>
> 这是一个桌面使用的脚本,系统维护工作中使用的。
>
> 我本来是想直接放进数组,然后一个一个比较的。
>
> 但是突然觉得那样就算不会超出数组大小的上限,也是非常没有效率的。
>
> 所以想请教一下各位,有啥好的处理思路吗?
>

放到sqlite数据库里?

-- 
Best Regards,
Leo Jay

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月26日 星期五 13:00

zongzi honghunter在gmail.com
星期五 十月 26 13:00:40 HKT 2007

谢谢你的回复,这确实是一个办法。
不过,我在用户这里没有数据库环境。(确切的说是没有能给我用的,他们的生产用的数据库,我也不敢随便动。)

所以,我比较倾向于从脚本的算法方面寻求解决方法。


在07-10-26,Shao Feng <sevenever在gmail.com> 写道:
>
> 我想到一个办法,放进数据库,用SQL做。
> 10w条数据你的这种查询对oracle这种数据库是小菜一碟。
>
> On 10/26/07, zongzi <honghunter在gmail.com> wrote:
>
> > 我现在需要从十几万条数据(文本文件中的行)中,提取有特定关键字的记录,然后刷选出这些记录的特定位置重复的记录。
> >
> > 这是一个桌面使用的脚本,系统维护工作中使用的。
> >
> > 我本来是想直接放进数组,然后一个一个比较的。
> >
> > 但是突然觉得那样就算不会超出数组大小的上限,也是非常没有效率的。
> >
> > 所以想请教一下各位,有啥好的处理思路吗?
> >
> >
> >
> > --
> > 这是一个有钱人的世界,与我的世界截然不同!
> > blog:http://www.dps4e.com/b/ & http://blog.dps4e.com
> > 饭否? http://fanfou.com/zongzi
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese在lists.python.cn
> > Subscribe: send subscribe to python-chinese-request在lists.python.cn
> > Unsubscribe: send unsubscribe to
> > python-chinese-request在lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>



-- 
这是一个有钱人的世界,与我的世界截然不同!
blog:http://www.dps4e.com/b/ & http://blog.dps4e.com
饭否?http://fanfou.com/zongzi
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20071026/2542c300/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月26日 星期五 13:09

Yingbo Qiu qiuyingbo在gmail.com
星期五 十月 26 13:09:33 HKT 2007

10万条,就用 dict 来比较好了..

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月26日 星期五 13:44

Jiahua Huang jhuangjiahua在gmail.com
星期五 十月 26 13:44:12 HKT 2007

几十万行算很多么,

直接 shell 里边用 grep 和 sort 命令就可以了

在 07-10-26,zongzi<honghunter at gmail.com> 写道:
> 我现在需要从十几万条数据(文本文件中的行)中,提取有特定关键字的记录,然后刷选出这些记录的特定位置重复的记录。
>
> 这是一个桌面使用的脚本,系统维护工作中使用的。
>
> 我本来是想直接放进数组,然后一个一个比较的。
>
> 但是突然觉得那样就算不会超出数组大小的上限,也是非常没有效率的。
>
> 所以想请教一下各位,有啥好的处理思路吗?
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月26日 星期五 13:45

Jiahua Huang jhuangjiahua在gmail.com
星期五 十月 26 13:45:28 HKT 2007

Ubuntu 和 OS X 默认有 shell 可用,
Redmond 请安装 cygwin/msys

在 07-10-26,Jiahua Huang<jhuangjiahua at gmail.com> 写道:
> 几十万行算很多么,
>
> 直接 shell 里边用 grep 和 sort 命令就可以了
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月26日 星期五 19:02

zongzi honghunter在gmail.com
星期五 十月 26 19:02:33 HKT 2007

哦,谢谢大家,我试试去。


-- 
这是一个有钱人的世界,与我的世界截然不同!
blog:http://www.dps4e.com/b/ & http://blog.dps4e.com
饭否?http://fanfou.com/zongzi
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20071026/85feccde/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月26日 星期五 19:54

hechu hcpython在gmail.com
星期五 十月 26 19:54:01 HKT 2007

一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20071026/e165d927/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月26日 星期五 20:13

??? ?? clfff.peter在gmail.com
星期五 十月 26 20:13:40 HKT 2007

ûÓÐ

ÔÚ07-10-27£¬wch <wch在cic.tsinghua.edu.cn> дµÀ£º
>
>  ÓʼþÁÐ±í»µÁË£¿
>
>  ------------------------------
>  wch
> 2007-10-26
>  ------------------------------
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20071026/7c94d506/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月27日 星期六 07:05

wch wch在cic.tsinghua.edu.cn
星期六 十月 27 07:05:05 HKT 2007

    windowsÈçºÎ°²×°wxpython ÎÒÔÚ°²×°ÍêÁËÒÔºó importÕÒ²»µ½moudle
 >>> sys.path
['C:\\Python24\\Lib\\idlelib', 'C:\\WINDOWS\\system32\\python24.zip', 'C:\\Python24', 'C:\\Python24\\DLLs', 'C:\\Python24\\lib', 'C:\\Python24\\lib\\plat-win', 'C:\\Python24\\lib\\lib-tk', 'C:\\Python24\\lib\\site-packages', 'E:\\wch\\note\\Python\\doc\\diveintopython-htmlflat-5.4_zh-ch\\py', 'D:\\development\\ulipad.3.7\\ulipad', 'D:\\development\\ulipad.3.7\\ulipad\\modules', 'C:\\Python24\\Lib\\site-packages\\wx-2.8-msw-unicode\\wx\\lib', 'C:\\Python24\\Lib\\site-packages\\wx-2.8-msw-unicode\\wxPython\\lib', 'C:\\Python24\\Lib\\site-packages\\wx-2.8-msw-unicode\\wx', 'C:\\Python24\\Lib\\site-packages\\wx-2.8-msw-unicode\\wx', 'C:\\Python24\\Lib\\site-packages\\wx-2.8-msw-unicode\\wxPython', 'C:\\Python24\\Lib\\site-packages', 'C:\\Python24\\Lib\\site-packages\\wxaddons']



>>> import UliPad

Traceback (most recent call last):
  File "", line 1, in -toplevel-
    import UliPad
  File "D:\development\ulipad.3.7\ulipad\UliPad.py", line 30, in -toplevel-
    import wx
ImportError: No module named wx
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20071026/9cf47968/attachment-0001.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月27日 星期六 07:33

wch wch在cic.tsinghua.edu.cn
星期六 十月 27 07:33:02 HKT 2007

ÓʼþÁÐ±í»µÁË£¿




wch
2007-10-26
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20071026/1200e2b7/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月29日 星期一 11:09

doudou doudou array.doudou在gmail.com
星期一 十月 29 11:09:00 HKT 2007

hash(obj)

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月29日 星期一 16:28

Robert Chen search.pythoner在gmail.com
星期一 十月 29 16:28:11 HKT 2007

×ölucene£¬½¨Ë÷Òý¡¢×öËÑË÷

On 10/29/07, doudou doudou <array.doudou在gmail.com> wrote:
>
> hash(obj)
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese




-- 
Robert
¹Ø×¢Python ¹Ø×¢ËÑË÷
Dynamic Life¡ª¡ªhttp://blog.csdn.net/balabalamerobert
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20071029/df575976/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月29日 星期一 18:50

Fluke fluke.l在gmail.com
星期一 十月 29 18:50:24 HKT 2007

10wÊý¾ÝºÜÉÙ°¡£¬hashÅÐÖØ°É¡£

On 10/26/07, zongzi <honghunter在gmail.com> wrote:
>
> ÎÒÏÖÔÚÐèÒª´ÓÊ®¼¸ÍòÌõÊý¾Ý£¨Îı¾ÎļþÖеÄÐУ©ÖУ¬ÌáÈ¡ÓÐÌض¨¹Ø¼ü×ֵļǼ£¬È»ºóˢѡ³öÕâЩ¼Ç¼µÄÌض¨Î»ÖÃÖظ´µÄ¼Ç¼¡£
>
> ÕâÊÇÒ»¸ö×ÀÃæʹÓõĽű¾£¬ÏµÍ³Î¬»¤¹¤×÷ÖÐʹÓõġ£
>
> ÎÒ±¾À´ÊÇÏëÖ±½Ó·Å½øÊý×飬ȻºóÒ»¸öÒ»¸ö±È½ÏµÄ¡£
>
> µ«ÊÇͻȻ¾õµÃÄÇÑù¾ÍËã²»»á³¬³öÊý×é´óСµÄÉÏÏÞ£¬Ò²ÊǷdz£Ã»ÓÐЧÂʵġ£
>
> ËùÒÔÏëÇë½Ìһϸ÷룬ÓÐɶºÃµÄ´¦Àí˼·Âð£¿
>
>
>
> --
> ÕâÊÇÒ»¸öÓÐÇ®È˵ÄÊÀ½ç£¬ÓëÎÒµÄÊÀ½ç½ØÈ»²»Í¬£¡
> blog:http://www.dps4e.com/b/ & http://blog.dps4e.com
> ·¹·ñ£¿ http://fanfou.com/zongzi
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>



-- 
Yours,
  fluke
fluke在sfcube.net
http://blog.ospattern.net
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20071029/7e99f56a/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年10月29日 星期一 23:40

Yang Yongsheng ysyang在cs.ust.hk
星期一 十月 29 23:40:29 HKT 2007

10w条记录真的不算多,用grep或awk(windows下也有移植的二进制执行版,不需要安装庞大的cygwin)应该都能搞定,grep简单一些,awk需要稍微了解一下语法。

或者就象上面朋友说的用hash就可以。


On 10/29/07, Fluke <fluke.l在gmail.com> wrote:
> 10w数据很少啊,hash判重吧。
>
> On 10/26/07, zongzi <honghunter在gmail.com> wrote:
> >
> > 我现在需要从十几万条数据(文本文件中的行)中,提取有特定关键字的记录,然后刷选出这些记录的特定位置重复的记录。
> >
> > 这是一个桌面使用的脚本,系统维护工作中使用的。
> >
> > 我本来是想直接放进数组,然后一个一个比较的。
> >
> > 但是突然觉得那样就算不会超出数组大小的上限,也是非常没有效率的。
> >
> > 所以想请教一下各位,有啥好的处理思路吗?
> >
> >
> >
> > --
> > 这是一个有钱人的世界,与我的世界截然不同!
> > blog: http://www.dps4e.com/b/ & http://blog.dps4e.com
> > 饭否? http://fanfou.com/zongzi
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese在lists.python.cn
> > Subscribe: send subscribe to
> python-chinese-request在lists.python.cn
> > Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> > Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
> >
>
>
>
> --
> Yours,
>   fluke
> fluke在sfcube.net
> http://blog.ospattern.net
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号