在 Windows 中打开 140GB 的 .txt 文件?
Open 140GB .txt file in Windows?
我有一个巨大的 dna 序列保存在一个大小为 140GB 的 .txt 文件中,我想使用 txt 文件编辑器打开它。记事本、Python、R 不允许打开这样的文件。有没有专门的文本文件编辑器可以打开大文件?
我目前在Python中使用这段代码打开140GB大文件.txt文件:
path = open("my_file_path\my_140GB_file.txt", "r")
file = path.read()
print(file)
错误信息是MemoryError
指的是file = path.read()
在 Python 中有多种读取大文本文件的方法。如果它是分隔文件,您可能需要使用 pandas 库。
您可以使用上下文管理器并按如下方式读取块。
Python 3.8+
with open("my_file_path\my_140GB_file.txt", "r") as f:
while chunk := f.read(1024 * 10): # you can use any chunk size you want
do_something(chunk)
之前Python3.8
您可以使用 lambda 进行迭代:
with open("my_file_path\my_140GB_file.txt", "rb") as f:
for chunk in iter(lambda:f.read(1024*10), ""):
do_something(chunk)
或者,如果文件是基于行的,您可以阅读每一行。
with open("my_file_path\my_140GB_file.txt", "r") as f:
for line in f:
do_something(line)
Pandas 分隔文件的 DataFrame
如果您的文件是带分隔符的(如 csv),那么您可以考虑使用 pandas.
import pandas as pd
for chunk in pd.read_csv("my_file_path\my_140GB_file.csv", chunksize=2):
do_something(chunk )
我有一个巨大的 dna 序列保存在一个大小为 140GB 的 .txt 文件中,我想使用 txt 文件编辑器打开它。记事本、Python、R 不允许打开这样的文件。有没有专门的文本文件编辑器可以打开大文件?
我目前在Python中使用这段代码打开140GB大文件.txt文件:
path = open("my_file_path\my_140GB_file.txt", "r")
file = path.read()
print(file)
错误信息是MemoryError
指的是file = path.read()
在 Python 中有多种读取大文本文件的方法。如果它是分隔文件,您可能需要使用 pandas 库。
您可以使用上下文管理器并按如下方式读取块。
Python 3.8+
with open("my_file_path\my_140GB_file.txt", "r") as f:
while chunk := f.read(1024 * 10): # you can use any chunk size you want
do_something(chunk)
之前Python3.8
您可以使用 lambda 进行迭代:
with open("my_file_path\my_140GB_file.txt", "rb") as f:
for chunk in iter(lambda:f.read(1024*10), ""):
do_something(chunk)
或者,如果文件是基于行的,您可以阅读每一行。
with open("my_file_path\my_140GB_file.txt", "r") as f:
for line in f:
do_something(line)
Pandas 分隔文件的 DataFrame
如果您的文件是带分隔符的(如 csv),那么您可以考虑使用 pandas.
import pandas as pd
for chunk in pd.read_csv("my_file_path\my_140GB_file.csv", chunksize=2):
do_something(chunk )