Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python消除文本文件中的空行_Python_Lines - Fatal编程技术网

用python消除文本文件中的空行

用python消除文本文件中的空行,python,lines,Python,Lines,我在一个文本文件中有两列数字,分别是时间列和应力列,我是从abaqus有限元软件包中的分析中得到的!我想知道第一行有字符串对象,第二行是空行。(我的文本文件底部的四行也是空行!) 我的问题是如何消除这两行,然后为每列创建两个数字列表 我的文本文件如下: X FORCE-1 0. 0. 10.E-03 98.347

我在一个文本文件中有两列数字,分别是时间列和应力列,我是从abaqus有限元软件包中的分析中得到的!我想知道第一行有字符串对象,第二行是空行。(我的文本文件底部的四行也是空行!) 我的问题是如何消除这两行,然后为每列创建两个数字列表

我的文本文件如下:

              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')后面有四个空元素