【问题标题】:extracting data from a text file (python)从文本文件中提取数据(python)
【发布时间】:2017-03-26 09:53:52
【问题描述】:

我在一个文本文件中有两列数字,分别是时间和应力列,我从 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  

【问题讨论】:

  • 读取文件有什么问题?

标签: python split strip


【解决方案1】:

您可以逐行读取文件

time = []
stress = []
count =0
with open("textfile.txt") as file:
    for line in file:
        line = line.strip() #removing extra spaces
        temp = line.split(" ")
        if count>=3 and temp[0].strip() : #checking empty string as well
           time.append(temp[0].strip())  #removing extra spaces and append
           stress.append(temp[len(temp)-1].strip()) #removing extra spaces and append
        count+=1

print time

在脚本上方运行的输出

['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']

【讨论】:

  • 您似乎正在尝试打印temp变量
  • 我无法准备好一切为您服务。相同的代码对我有用。如果您正在编写任何代码,则至少需要清楚地了解如何执行代码。
  • 感谢您的精彩重播,我大概得到了答案,但是当我执行您的程序时,我在第一个元素('0')之前有一个空元素,在最后一个元素之后有四个空元素元素 ('1') 。 . .你能告诉我怎样才能得到这些元素吗?谢谢
  • 您将获得第一个元素0,因为有一个条目。如果您想跳过该部分,请将count>=2 更改为count>=3
猜你喜欢
  • 1970-01-01
  • 2013-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-20
  • 1970-01-01
  • 2014-11-10
相关资源
最近更新 更多