我有一个大文本文件,其中包含以下内容:
158 lines of Text
2000 lines of Data
140 lines of Text
2000 lines of Data
140 lines of Text
.
.
.
共有 5 组 2000 行数据,我希望 python 读取和写入 5 个不同的文本文件。像这样的东西:
Data1.txt
Data2.txt
Data3.txt
.
.
在线浏览我发现以下内容:从python中的大文本文件中高效读取部分
def get_block(beg,end):
output=open("Output.txt",'a')
with open("input.txt",'r') as f:
for line in f:
line=line.strip("\r\n")
line=line.split("\t")
position=str(line[0])
if int(position)<=beg:
pass
elif int(position)>=end:
break
else:
for i in line:
output.write(("%s\t")%(i))
output.write("\n")
哪个问题与我的类似,但是,此功能我收到以下错误:
File "/Users/aperego/Desktop/HexaPaper/DataToPlot/ReadThermo.py", line 8, in get_block
if int(position)<=beg:
ValueError: invalid literal for int() with base 10: 'LAMMPS (5 Jun 2019)'
我相信这是因为我的输入文本文件在数据集之间有很多文本行。它也只接受一个间隔的行,而我希望我的脚本一次运行并提取所有包含数据的行。
我不知道修改此脚本是否是解决此问题的最佳方法,或者是否有更好的方法来实现我想要的目标。任何帮助表示赞赏!