| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1071 人关注过本帖
标题:如何拆分一个大文件?
只看楼主 加入收藏
jasson_luck
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-10-1
收藏
 问题点数:0 回复次数:3 
如何拆分一个大文件?
各位高手:
有个问题请教一下,我有一个txt文件,文件行数有600万行,里面内容是单词开头(有可能有多个单词),后面跟一堆数字,我想把单词及相应数字单独另存为一个文件,这在python里如何实现?谢谢!
数据见附件。
搜索更多相关主题的帖子: 单词 如何 python 
2011-10-01 20:58
jasson_luck
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-10-1
收藏
得分:0 
分开.rar (5.78 KB)
2011-10-01 20:58
jasson_luck
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-10-1
收藏
得分:0 
有高手吗?
2011-10-10 17:21
nm_0011
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-7-5
收藏
得分:0 

高手不敢当,刚学习,随手写了一下,不知道要匹配的具体内容,自己改正则表达式

import os
import sys
import string
import re

class  jassonjack():
    """
    split a big file into two files which contains words and numbers respectively
    """
    pattern_ = (r'^[a-zA-Z]\D+\d+$')
   
    def __init__(self,srcfile):
        self.srcfile = srcfile
        parentname, filename = os.path.split(srcfile)
        dstfilename = filename.replace(filename,'.txt','_word_number.txt')
        self.dstfile = os.path.join(parentname,dstfilename)
        self.wordlist = []
      
    def split(self):
        ret = False
        
        try:
            srcfd = open(self.srcfile,'r')
            dstfd = open(self.dstfile,'w+')
   
            contents = srcfd.readlines()
            for content in contents:
                while True:
                    m = jassonjack.pattern_.match(content)
                    if not m:
                        self.wordlist.append(m.group(0))
                        contentlist = content.split(m.group(0))
                        content = ''
                        for i in range(0,len(contentlist)-1):
                            content = content + contentlist[i]
                    else:
                        break;
                for word in self.wordlist:
                    dstdf.write(word)
                    dstdf.write(" ")
                dstdf.write("\n")
            ret = True
        except Exception,e:
            print("the file is not existed")
        
        return ret
   

if __name__ == "__main__":
    srcfile = raw_input("input file:")
    instance = jassonjack(srcfile)
    print instance.split()
              
2012-07-09 14:38
快速回复:如何拆分一个大文件?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028194 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved