我是 Python 新手,我正在尝试找出一种有效的方法来读取如下所示的文本文件:
345 45678 567 678 78
789 98733 456 567 67
问题是列之间用空格分隔,但空格的数量不是恒定的。
我想出了这个:
def fileread(filename):
data=[]
with open(filename) as myfile:
LINES=myfile.read().splitlines()
myfile.close()
for line in LINES:
whole_line=line.split(' ')
dataline=[]
for element in whole_line:
if(element!=''):
dataline.append(int(element))
data.append(dataline)
return data
但我觉得必须有一个更有效的解决方案,这会很有帮助,因为我需要它来读取一堆非常大的文件。
有人可以帮我找一个吗?
谢谢!
最佳答案
您只需几行代码即可实现此目的,无需任何额外的导入。发电机非常适合此类工作。话虽如此,如果您经常使用大型数据集,pandas 值得研究,它可能会改变您的生活。
with open('text.txt') as f:
data = f.read()
split = [x for x in data.split()]
关于Python:读取具有不同分隔符(空格)的文本文件的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36663772/