当我们在用python时可能会遇到想要把txt文档里的数据读取出来然后进行绘图,那么我们要怎么才能够将txt里的数据读取出来呢?
假设有txt文本如下:
想要把上述文本数据读取出来,可以用以下方法:
方法一:运用open()函数该方法使用最基本的open函数进行读取,此处将会把数据读取到一个列表中,这个方法一般就是open打开文件、read读取文件、close关闭文件3个步骤,主要代码如下:
def openreadtxt(file_name):
data = []
file = open(file_name,'r') #打开文件
file_data = file.readlines() #读取所有行
for row in file_data:
tmp_list = row.split(' ') #按‘,’切分每行的数据
#tmp_list[-1] = tmp_list[-1].replace('\n',',') #去掉换行符
data.append(tmp_list) #将每行数据插入data中
return data
if __name__=="__main__":
data = openreadtxt('test.txt')
print(data)
结果如下图,已经成功打印出txt数据,这里默认读取的都是字符串类型,需要的话,可以进行类型转换,int,float都行:
方法二:使用numpy包的loadtxt方法使用numpy包的loadtxt方法(在处理实验数据中经常用到),numpy是python的一个科学库,至于安装教程参考python中的NumPy_ggj0727的博客-CSDN博客,使用loadtxt方法读取txt文件主要代码如下(这里要求的数据必须是数字,不能是字母等字符,不然会报错,因为numpy本身是做计算的,所以读取的数据已经转化为数值类型,非字符串,这种方法在处理实验数据中经常会用到,简单快捷)︰
import numpy as np
def loadtxtmethod(filename):
data = np.loadtxt(filename,dtype=np.float32,delimiter=',')
return data
if __name__=="__main__":
data = loadtxtmethod('D:\paper reading\基于优胜劣汰模型选择的联邦学习方案\BBOA_ACC.txt')
print(data)
程序运行截图如下,已经成功打印出txt数据,这里返回的是ndarray类型:
首先先安装pandas依赖包。pandas是python的一个数据处理的包,功能很强大,提供了许多现成的读取各种文件的方法,像csv文件的read_csv方法,excel文件的read_excel方法等,主要代码如下(这里不必要是数值的数据)︰
import pandas
def read_tablemethod(filename):
data = pandas.read_table(filename,header=None,delim_whitespace=True)
return data
if __name__=="__main__":
data = read_tablemethod('D:\paper reading\基于优胜劣汰模型选择的联邦学习方案\BBOA_ACC.txt')
print(data)
程序运行结果如下,已经成功打印出数据,这里返回的是DataFrame类型:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)