数据分析——文本文件

1、将文本文件转换为列表

with open('C:/Users/wxscn/Desktop/predefined_classes.txt', 'r', encoding='utf-8') as f:
	classList = f.read().split('\n')
print(classList)

运行结果:[‘气孔’, ‘夹渣’, ‘焊瘤’, ‘裂纹’, ‘咬边’]

2、先将文本文件转换为列表,再将列表转换为矩阵。列表转换为矩阵之后才可以进行线性代数操作,否则产生报警:TypeError: list indices must be integers or slices, not tuple

import numpy as np
from matplotlib import pyplot as plt
with open('C:/Users/wxscn/Desktop/curve.txt', 'r', encoding='utf-8') as f:
	lines = f.read().split('\n')
# 将文本文件转换为列表
data = [line.split(' ') for line in lines]
# 将列表转换为矩阵,后续进行线性代数操作
data = np.mat(data)
# 去掉一头一尾,截取部分数据,此操作视需求而定
x = data[1:-1, 1]
y = data[1:-1, 2]
# 绘制曲线
plt.plot(x, y, '-r', label = 'exponential curve', linewidth = 3.0)
plt.title('sample')
plt.xlabel('x', fontsize = 12)
plt.ylabel('y', fontsize = 12)
plt.show()

在这里插入图片描述

在这里插入图片描述
3、写入文本文件

with open('test.txt','w') as f:
	for i in range(10):
		f.write('{} {}\n'.format(str(i), str(i**2)))

运行结果:
在这里插入图片描述

4、读取文本文件

with open('test.txt', 'r') as f:
	for line in f.readlines():
		print(line.strip('\n')) # 去掉每一行的换行符

在这里插入图片描述

5、文本文件内容对齐
方法一:指定每个数占相同的位置,效果不佳

import cv2
import numpy as np

np.random.seed(0)
image = np.random.randint(0,256,(4,5))
np.savetxt('result.txt', image, delimiter=' ', fmt='%3d')

在这里插入图片描述

方法二:利用制表符,效果很好

import cv2
import numpy as np

np.random.seed(0)
image = np.random.randint(0,256,(4,5))
np.savetxt('result.txt', image, delimiter='\t', fmt='%d')

在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值