用python消除文本文件中的空行
我在一个文本文件中有两列数字,分别是时间列和应力列,我是从abaqus有限元软件包中的分析中得到的!我想知道第一行有字符串对象,第二行是空行。(我的文本文件底部的四行也是空行!) 我的问题是如何消除这两行,然后为每列创建两个数字列表 我的文本文件如下:用python消除文本文件中的空行,python,lines,Python,Lines,我在一个文本文件中有两列数字,分别是时间列和应力列,我是从abaqus有限元软件包中的分析中得到的!我想知道第一行有字符串对象,第二行是空行。(我的文本文件底部的四行也是空行!) 我的问题是如何消除这两行,然后为每列创建两个数字列表 我的文本文件如下: X FORCE-1 0. 0. 10.E-03 98.347
X FORCE-1
0. 0.
10.E-03 98.3479E+03
12.5E-03 122.947E+03
15.E-03 147.416E+03
18.75E-03 183.805E+03
22.5E-03 215.356E+03
26.25E-03 217.503E+03
30.E-03 218.764E+03
33.75E-03 219.724E+03
37.5E-03 220.503E+03
43.125E-03 221.938E+03
51.5625E-03 228.526E+03
61.5625E-03 233.812E+03
提取时间和应力数据并为每个数据创建单独列表的代码如下:
time = []
stress = []
count = 0
with open('txtFORCE-1.txt') as file:
for line in file:
line = line.strip() #removing extra spaces from right and left
temp = line.split(" ") # spliting the result of the last line
if count>=3 :
time.append(temp[0].strip()) #removing extra spaces and append
stress.append(temp[0].strip()) #removing extra spaces and append
count=count+1
print(time)
print(stress)
我不使用这个代码,我从我的朋友那里得到这个,我真的不确定它的准确性 下面是修订后的代码,可以回答您关于从最终列表中删除空项的问题
time = []
stress = []
with open('txtFORCE-1.txt') as file:
for count, line in enumerate(file):
temp = line.split() # remove extra spaces and split
if count >= 2 and len(temp) > 1:
time.append(temp[0])
stress.append(temp[1])
print(time)
print(stress)
如果count>=2且len(temp)>1:则删除空项的更改为
,如果行中不包含至少两个项,则该更改不会执行任何操作。我还跳过了前两行(您的代码跳过了三行),改进了行的拆分,并使其他一些行更具python风格。请注意,两个列表都包含字符串,而不是数字。如果您改为使用time.append(float(temp[0]))
等,这一点可能会改变,但如果其中任何项目实际上不是正确格式的数字,则此操作将失败。您是否可以用您迄今为止尝试过的代码更新您的问题?还要详细说明:如何消除这两行,然后创建两个数字列表。您展示了一些可以尝试的代码,那么您的问题是什么?另外,您希望输出两个数字列表,还是一个删除了这些行的新文本文件?我编写了代码,但我并不真正信任这段代码,因为到目前为止我还没有使用它!我首先应该消除这两行,然后使用它!我正在寻找的是为每个数字列创建两个数字列表!一个列表只包含时间列,一个列表包含应力!在你最后的评论中,我仍然没有看到任何问题。你到底在问我们什么?你是在问这个示例代码是否有效吗?@Rory当我使用这个代码时,我会得到这样的结果:['0','10.E-03','12.5E-03','15.E-03','18.75E-03','22.5E-03','26.25E-03','30.E-03','33.75E-03','37.5E-03','43.125E-03','51.5625E-03','61.5625E-03','71.5625E-03','821.563E-03','831.563E-03','841.563E-0','1''在最后一个元素('1')后面有四个空元素