目录
前言方法一:运用open()函数方法二:使用numpy包的loadtxt方法方法三:使用pandas的read_table方法进行读取总结前言
当我们在用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,使用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的read_table方法进行读取
首先先安装pandas依赖包:
工具:
anaconda+python环境
步骤一:打开anaconda,如下:
步骤二:进入你要安装的python环境(虚拟环境,默认为base):
命令为:activate+虚拟环境名称
步骤三:安装pandas
命令为:pip install pandas
至此,pandas包安装完成。此外其他python的依赖包也是依照上述方法进行安装
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类型:
总结
到此这篇关于利用python如何读取txt中数据的文章就介绍到这了,更多相关python读取txt的数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
上一篇:Python类的定义和使用详情
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?