拆分.dat大文件

时间:2015-02-03 21:01:57

标签: file split

我收到了一个.dat格式的文件。该文件有2GB和大约4百万行。我试图用Excel / Notepad / Notepad ++打开,但没有一个可以打开文件,它总是与内存相关的错误(我有16GB内存)。我也尝试用一些应用程序拆分文件,但也没有。

我还能做什么?

非常感谢!

2 个答案:

答案 0 :(得分:0)

我不认为Excel可以同时处理那么多数据,我担心。也许您可以使用MS Access等数据库软件:它们可以处理非常大的数据集。另一种选择是SQLite的编辑器。它们都比Excel复杂得多。

答案 1 :(得分:0)

您可以使用名为Python 3的编程语言在行上拆分文件(在该页面底部下载)。示例脚本:

# Your input file name
filename = r"C:\path\to\input.dat" 
# Your new chunk files will be here. You must keep 
# the {:04}, because it will be replaced by a number.
chunknametemplate = r"C:\path\to\input-{:04}.dat"

# Number of bytes for each chunk, set this to something large
# like 10*1000*1000 (for 10 MB).
minchunksize = 10*1000*1000

f = open(filename, 'rb')

buf = b''
chunknum=1

def writechunk():
    global buf, chunknum
    open(chunknametemplate.format(chunknum), 'wb').write(buf)
    buf = b''
    chunknum += 1


while True:
    line = f.readline()
    if line == b'':
        break

    buf += line
    if len(buf) > minchunksize:
        writechunk()

# Write the last chunk
writechunk()