簡體   English   中英

從python中的文本文件中讀取特定數據

[英]Reading specific data from a text file in python

我有一個文本文件,它是兩列帶有標題的數據(標題是“x”和“xy 數據”)。 如何僅讀取從第四行到文件末尾的第二列(以跳過標題)? 我只需要數字。 我需要一個簡單的解決方案,因為我需要在 ABAQUS 腳本中使用此代碼。 這是我的文本文件:

              X              XYData-201   

            0.                 0.         
            3.99845E-03        0.         
            7.98118E-03        0.         
           11.9483E-03         0.         

你可以把一個字符串像

"            11.9483E-03         0.           "

通過執行以下操作進入列表 [0.011948, 0.0] (假設 s 是上面的字符串)

map(float, s.split())

分解為幾個步驟:

  • s.split() 通過在空格處拆分將字符串分解為子字符串數組,將本示例中的 s 轉換為 ['11.9483E-03', '0.']

  • map(float, s.split()) 將上面的數組轉換為列表 [0.011948, 0.0] 通過將每個元素轉換為浮點數。

如果你只需要第二列的數字,你可以這樣做:

float(s.split()[1])

因此,假設文件名為 blah.txt,要從第四行開始讀取第二列中的所有數字,您可以執行以下操作:

 with open('blah.txt', 'r') as f:
     for i, line in enumerate(f):
         if i < 4:
             continue  # we are in line 1-3, skip
         print float(line.split()[1])

如果你想要第二列中所有數字的列表,你可以使用列表理解:

 numbers = [float(line.split()[1]) for line in open('blah.txt', 'r').readlines()[4:]]

(注意:假設您使用的是 Python 2.7,否則 map 將不會返回列表,並且 print 將需要括號)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM