1、导入txt文件
f = open(r"D:\0-12 化雪装置\测雪仪\4-程序\20210520184832.txt","r")
strr = f.read()
注意:加r的原因是避免转义符的误解
2、定位目标数据
! 正则表达式
推荐官网,用来检验自己的正则表达式是否正确:
菜鸟工具
相关函数库和函数有:
import re、re.findall、re.search
h=re.findall(r'(Temp:)(.+)',strr)
h_new=list(map(list,h))
hly.append(round(float(re.search(r'([0-9]*[.][0-9]*)',w).group(0)),2))
h(tuple格式的,不可以改)
h_new
hly
目的:不断在hly内加入新的元素,要求元素是浮点型,小数位数为2位,w为寻找的总体,
re.search需要添加 **.group(?)**进行输出
float表示变成浮点型
round表示变成2位有效数字
!切割数组
o=[]
oo=[]
#合并+切割
for hi in h_new:
hi[1]=hi[0]+hi[1]
del hi[0]
for hii in hi:
o.append(hii.split(','))
#按照项目切割好的数据
for oi in o:
for oii in oi:
oo.append(oii.split(':'))
注意:split只能针对单个字符串,因此多用**for ?? in ??**来依次提出目标字符串,进行循环判断
3、制作目标格式
! 改成字典形式
keys=[]
values=[]
for i in oo:
keys.append(i[0])
values.append(i[1])
content={} #定义字典
k=0
for i in oo:
keyy=i[0]
k=k+1
if keyy not in content:
content[keyy]=[i[1]] #字典【索引】=值
else:
content[keyy].append(i[1])
! 改成DataFrame格式
data=pd.DataFrame(content,index=time) #content是指字典,index为索引
4、导出为Excel
data.to_excel('data.xls')
基础复习:
1、字符串分割
con=cont.split('\n')
2、正则表达式:[A-Za-z]+ 表示所有英文字符
3、字典定义的经典方法:
提出字典的行名称
4、用np.array转为可计算的数组
5、修改字典的行索引名字
踩雷&报错
- 定义变量时,变量名与内置函数名字一样(eg:str 报错:
- 在网站上的正则表达式和python中的还是有些许不同,比如要外加( ),在前边要加r
- 要善于定义函数!