Python论坛  - 讨论区

标题:Re: Re: [python-chinese] 如何提高Python处理文本文件的速度

2005年07月05日 星期二 15:00

amingsc amingsc at 163.com
Tue Jul 5 15:00:25 HKT 2005

Jiang Hua:
是不是主要想问的这个“大量数据,可能有上千万行”的问题,我前几天刚遇到过处理数据大数据集的问题;
1.如果你是一次性永久修改,还要将修改后的数据保存到磁盘,就没什么好说的哈,不过唯一要注意的问题是应该一次磁盘io应该处理所有修改操作,而不要为每个修改操作来一次磁盘io,因为磁盘io开销很大
2.临时性修改,有可能下次的修改方法不一样,我遇到的是这样的情况,那你没有必要保存到磁盘了,直接将修改的结果buffer在内存以供使用得了;当然还可能需要随机多次读取修改后的数据,那就建立buffer好了,给文本数据建立个索引的话可以使它可以随机访问

======= 2005-07-05 11:37:00 您在来信中写道:=======

>On 7/5/05, Jiang Hua <jianghua1213 at hotmail.com> wrote:
>> 有如下三个文本文件,内容举例说明如下:
>> ref_col1.del:
>> A1|IDA1
>> A2|IDA2
>> A3|IDA3
>> 
>> ref_col2.del:
>> B1|IDB1
>> B2|IDB2
>> B3|IDB3
>> 
>> fact_dsn.del:
>> A1|B1|Name1|Address1|Tel1
>> A2|B2|Name2|Address2|Tel2
>> A3|B3|Name3|Address3|Tel3
>> A4|B4|Name4|Address4|Tel4
>> A5|B5|Name5|Address5|Tel5
>> A6|B6|Name6|Address6|Tel6
>> 
>> ref_col1.del与ref_col2.del文件的内容不会很多,只是转换fact_dsn.del时的一些参
>> 照,fact_dsn.del有大量数据,可能有上千万行,现在想根据前两个文件的内容进行参
>> 照,来修改fact_dsn.del文件中的前两个字段。请各位大侠支招,如何去提高文件处理
>> 的速度?
>> 谢谢!
>
>如果不采用数据库的话,可以考虑下面的代码
>
>ref1 = dict(line.strip().split('|') for line in file('ref_col1.del'))
>ref2 = dict(line.strip().split('|') for line in file('ref_col2.del'))
>outf = file('output', 'w')
>for line in file('fact_dsn.del'):
>    a, b, e = line.split('|', 2)
>    print >>outf, '|'.join([ref1[a], ref2[b], e)
>
>-- 
>Qiangning Hong
>Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id=67907&t=1>
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>

= = = = = = = = = = = = = = = = = = = =
			

        致
礼!
 
				 
        amingsc
        amingsc at 163.com
          2005-07-05


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

2005年07月05日 星期二 20:21

jerry jonah21 at 163.com
Tue Jul 5 20:21:55 HKT 2005

请问订阅邮递列表从jonah21 at 163.com换为jonah21 at gmail.com可以吗?


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

2005年07月05日 星期二 21:22

limodou limodou at gmail.com
Tue Jul 5 21:22:31 HKT 2005

可以。直接订阅就行了。以前的退订掉就行了。

在 05-7-5,jerry<jonah21 at 163.com> 写道:
> 请问订阅邮递列表从jonah21 at 163.com换为jonah21 at gmail.com可以吗?
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 


-- 
I like python! 
My Donews Blog: http://www.donews.net/limodou
New Google Maillist: http://groups-beta.google.com/group/python-cn

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

2005年07月05日 星期二 22:38

Bruce Wang number5 at gmail.com
Tue Jul 5 22:38:28 HKT 2005

拜托改个和内容相关的标题……

On 7/5/05, jerry <jonah21 at 163.com> wrote:
> 请问订阅邮递列表从jonah21 at 163.com换为jonah21 at gmail.com可以吗?
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 


-- 
simple is good

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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号