![](/img/trans.png)
[英]Reading data from a text file, written in a specific period of time in 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.