python 读取TXT文件数据(字符或数值)存放在numpy数组中以及训练集测试集的处理(1)(个人笔记)

您所在的位置:网站首页 python怎么读取txt文件的某一列python指定读取txt某一列 python 读取TXT文件数据(字符或数值)存放在numpy数组中以及训练集测试集的处理(1)(个人笔记)

python 读取TXT文件数据(字符或数值)存放在numpy数组中以及训练集测试集的处理(1)(个人笔记)

2023-08-08 15:44| 来源: 网络整理| 查看: 265

1.使用Python内置文本操作函数读取数据

字符数据: 在这里插入图片描述 第一种写法: 处理文本数据代码:

import numpy as np with open('out.txt') as f: line=f.readline() data_array=[] while line: num=list(map(str,line.split(' ')))#关于map()函数另一篇文章有详细介绍 data_array.append(num) line=f.readline() data_array=np.array(data_array) print(data_array[0][:]) print('*'*50) print(data_array)

结果:

['伤感自拍' '半身风雨半身伤' '半句别恨半心凉\n'] ************************************************** [['伤感自拍' '半身风雨半身伤' '半句别恨半心凉\n'] ['官宣表白' '我是檐上三寸雪' '你是人间惊鸿客\n'] ['秀闺蜜照' '含娇含笑' '宿翠残红窈窕\n'] ['睡前自拍' '南风知我意' '吹梦到西州\n'] ['情侣离别' '南风未起' '念你成疾\n']]

这里使用的的readline()和while循环结合,readline()每次读取一行数据(这是因为read()读取文件是如果文件很大,一次全部读取,容易造成内存不足,因此通常会采取逐行读取)

第二种写法:

import numpy as np with open('out.txt') as f: lines=f.readlines() data_array=[] for line in lines: num=list(map(str,line.split(' '))) data_array.append(num) data_array=np.array(data_array) print(data_array[0][:]) print('*'*50) print(data_array)

结果和上面的代码一样。

这里用的是readlines()和for循环结合。readlines()一次读取所有的行,返回一个字符串列表。如果文件比较,采用这种方式输出文件内容比较慢,因此,一般使用for循环将列表内容逐行输出。

数值类型: 在这里插入图片描述

import numpy as np with open('out1.txt') as f: line=f.readline() data_array=[] while line: num=list(map(int,line.split(' '))) data_array.append(num) line=f.readline() data_array=np.array(data_array) print(data_array[0][:]) print('*'*50) print(data_array)

结果:

[1 2 3 4 5 6 7 8] ************************************************** [[ 1 2 3 4 5 6 7 8] [ 9 10 11 12 13 14 15 16] [17 18 19 20 21 22 23 24] [25 26 27 28 29 30 31 32]]

只是map()函数的参数改变,对于数值类型可以是int或者float。 同理,和上文一样可以用readlines()来写。

第二种写法:

import numpy as np with open('out1.txt') as f: lines=f.readlines() data_array=[] for line in lines: num=list(map(int,line.split(' '))) data_array.append(num) data_array=np.array(data_array) print(data_array[0][:]) print('*'*50) print(data_array)

结果和第一种写法一样。

2.使用numpy中的IO函数读取数据

numpy中有两个函数是处理正常的文本文件的(txt等);loadtxt()和savetxt()。 在这里插入图片描述 1.处理数值类型数据

import numpy as np data_array=np.loadtxt('out1.txt',delimiter=' ')#默认float print(data_array[0][:]) print('*'*50) print(data_array)

结果:

[1. 2. 3. 4. 5. 6. 7. 8.] ************************************************** [[ 1. 2. 3. 4. 5. 6. 7. 8.] [ 9. 10. 11. 12. 13. 14. 15. 16.] [17. 18. 19. 20. 21. 22. 23. 24.] [25. 26. 27. 28. 29. 30. 31. 32.]]

结果也是一样的。

2.处理字符类型:

import numpy as np data_array=np.loadtxt('out.txt',dtype=str,delimiter=' ') print(data_array[0][:]) print('*'*50) print(data_array)

结果:

['伤感自拍' '半身风雨半身伤' '半句别恨半心凉'] ************************************************** [['伤感自拍' '半身风雨半身伤' '半句别恨半心凉'] ['官宣表白' '我是檐上三寸雪' '你是人间惊鸿客'] ['秀闺蜜照' '含娇含笑' '宿翠残红窈窕'] ['睡前自拍' '南风知我意' '吹梦到西州'] ['情侣离别' '南风未起' '念你成疾']]

关于loadtxt函数的介绍在以一篇单独介绍。

未完…



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3