Python如何讀取txt文件,獲取指定行中指定位置數(shù)據(jù)
Python讀取txt文件,獲取指定行中指定位置數(shù)據(jù)
問題描述
需求:讀取大約有200多行的txt文件,獲取17-216行中每行中指定位置中的數(shù)值。
實現(xiàn):
#-*- coding: utf-8 -*-
"""
@Date: 2020/5/21 21:53
@Author: Pangpd
@FileName: read_log.py
@IDE: PyCharm
@Description: 獲取日志中的訓練精度和損失
"""
import linecache
#獲取指定行內(nèi)容
def get_line(file, nums_line):
return linecache.getline(file, nums_line).strip()
file = 'D:/UseTools/OneDrive/codes/My-Research/logs/05-01_10-09-40/05-01_10-09-40.txt'
train_accuracy_list = []
train_loss_list = []
for line in range(17, 217):
current_context = get_line(file, line).split()
train_accuracy = float(current_context[9])
train_loss = float(current_context[6])
train_accuracy_list.append(train_accuracy)
train_loss_list.append(train_loss)
python讀取txt文件并畫圖
方法1
已知txt文件內(nèi)容如下:
0 0 1 1 2 4 3 9 4 16 5 25 6 36
請以第一列為x軸,第二列為y軸畫圖
步驟如下:
1)使用readlines讀取文件
2)建立兩個空列表X,Y,將第一列的數(shù)字放入X,第二列的數(shù)字放入Y中
3)以X,Y為軸畫圖
實現(xiàn)如下:
X, Y = [], []
for line in open('my_data.txt', 'r'):
values = [float(s) for s in line.split()]
X.append(values[0])
Y.append(values[1])
plt.plot(X, Y) #二維數(shù)據(jù)是折線圖,一維數(shù)據(jù)就是柱狀圖
plt.show()
方法2 使用numpy
import matplotlib.pyplot as plt
import numpy as np
data = np.loadtxt('test1.txt')
plt.plot(data[:,0],data[:,1])
plt.show()
結果和上面的圖一樣
使用numpy是最方便的;當然剛開始的程序有點兒復雜,但對于理解python畫圖的實現(xiàn)過程是有幫助的。
另外,numpy.loadtxt還可以讀取.dat等文件。
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python整合ffmpeg實現(xiàn)視頻文件的批量轉換
這篇文章主要為大家詳細介紹了python整合ffmpeg實現(xiàn)視頻文件的批量轉換,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-05-05
解決pygal.style的LightColorizedStyle參數(shù)問題
這篇文章主要介紹了解決pygal.style的LightColorizedStyle參數(shù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07

