2 qq 40004754 qq_40004754 于 2017.09.07 15:26 提问

请教:有什么工具能把500W字的文本以每行100~200字这样来分

或者是有能生成规律文字的代码就更好了,,跪求,跪舔,
有木有隐居很久的大佬出来指导指导小弟

3个回答

qq_31618659
qq_31618659   2017.09.07 15:30

首先明确一下你的要求你是想把文本切割成n个小文本还是只是将文本文字分行

qq_40004754
qq_40004754 是想切割成n行,然后是每行里大约150个字这样,因为最终的形式我是想导入到数据库里滴
3 个月之前 回复
qq_31618659
qq_31618659   2017.09.07 15:31

如果是将文本切割python源码

-*- coding: cp936 -*-

import os

import time

def mkSubFile(lines,head,srcName,sub):

[des_filename, extname] = os.path.splitext(srcName)

filename = des_filename + '_' + str(sub) + extname

print( 'make file: %s' %filename)

fout = open(filename,'w')

try:

fout.writelines([head])

fout.writelines(lines)

return sub + 1

finally:

fout.close()

def splitByLineCount(filename,count):

fin = open(filename,'r')

try:

head = fin.readline()

buf = []

sub = 1

for line in fin:

buf.append(line)

if len(buf) == count:

sub = mkSubFile(buf,head,filename,sub)

buf = []

if len(buf) != 0:

sub = mkSubFile(buf,head,filename,sub)

finally:

fin.close()

if name == '__main__':

begin = time.time()

splitByLineCount('盂县.csv',600000)

end = time.time()

print('time is %d seconds ' % (end - begin))
如果只是换行你可以打开word2007直接选择字体全部粘贴自动分行

qq_40004754
qq_40004754 回复Mygod吴: 噢噢 那word文档可以分割成每行100字(就是500W字5W行)这样吗,
3 个月之前 回复
qq_31618659
qq_31618659 上面的python代码是将你的文本量缩小比如将你的500w文件切割成10个50万的文件 但是如果切成行的话还是不简单的
3 个月之前 回复
qq_31618659
qq_31618659 回复qq_40004754: 500w的文字量如果采用代码切割的话由于不知道文本字节大小在切割的时候会产生偏差 我推荐的方法是使用word奖数据分割完毕后进行保存处理 word我感觉实现这个比代码要好很多吧
3 个月之前 回复
qq_40004754
qq_40004754 呀,大佬你的幸福来得太突然,但是我不太懂这个Python代码,我拿去问别人试试
3 个月之前 回复
qq_32868905
qq_32868905   2017.09.07 16:14

使用java文件流读取后每行读取到一定阈值了换行

qq_40004754
qq_40004754 请问有代码吗?我想试试看行不行
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片