教你⽤python提取txt⽂件中的特定信息并写⼊Excel
⽬录
问题描述:
⼯具:
操作:
源代码:
Reference:
总结
问题描述:
我有⼀个这样的数据集叫test_,⼤概⼏百上千⾏,两⾏数据之间隔⼀个空⾏。
N:505904X:0.969wsecY:0.694wsec
N:506038X:4.246wsecY:0.884wsec
N:450997X:8.472wsecY:0.615wsec
...
现在我希望能提取每⼀⾏X:和Y:后⾯的数字,然后保存进Excel做进⼀步的数据处理和分析
就拿第⼀⾏来说,我只需要0.969 和0.694。每⼀⾏三个数字的具体位置是不确定的,因此不能⽤固定的列数去处理,刚好发现split函数能对⽂本进⾏切⽚,所以这⾥我们⽤这个函数来提取需要的数字信息。
split函数语法如下:
1、split()函数
语法:str.split(str="",unt(str))[n]
参数说明:
str:表⽰为分隔符,默认为空格,但是不能为空('')。若字符串中没有分隔符,则把整个字符串作为列表的⼀个元素
num:表⽰分割次数。如果存在参数num,则仅分隔成 num+1 个⼦字符串,并且每⼀个⼦字符串可以赋给新的变量[n]:表⽰选取第n个分⽚
注意:当使⽤空格作为分隔符时,对于中间为空的项会⾃动忽略
于是对于我们这⾥的⽂本,我们可以先⽤“:”切⽚,把⽂本分成三份,⽐如对于第⼀⾏
以“:”进⾏切⽚得到
取第三个分⽚进⾏“w”切⽚,得到
这⾥的第⼀分⽚就是我们要的X坐标
最后我们分析⼀下思路:
⾸先定位⽂件位置读取txt⽂件内容,去掉空⾏保存Excel准备⼯作,新建Excel表格,并编辑好标题为写⼊数据就位对于每⼀⾏数据,⾸先⽤‘:'进⾏切⽚,再⽤‘w'切⽚得到想要的数字,然后写⼊Excel保存
⼯具:
安装好python模块的visual studio 2017
包:os,xlwt
操作:
先import我们所需要的包
import os
import xlwt
1.到我们想要处理的⽂件,因此去到指定的位置,定位好⽂件
a = os.getcwd() #获取当前⽬录
print (a) #打印当前⽬录
os.chdir('D:/') #定位到新的⽬录,请根据你⾃⼰⽂件的位置做相应的修改
a = os.getcwd() #获取定位之后的⽬录
print(a) #打印定位之后的⽬录
2.打开我们的txt⽂件查看下⾥⾯的内容(这⼀步可有可⽆)
#读取⽬标txt⽂件⾥的内容,并且打印出来显⽰
with open('','r') as raw:
for line in raw:
print (line)
3.去除空⽩⾏并保存
#去掉txt⾥⾯的空⽩⾏,并保存到新的⽂件中
with open('','r',encoding = 'utf-8') as fr, open('','w',encoding= 'utf-8') as fd:
for text adlines():
if text.split():
fd.write(text)
print('success')
执⾏完毕同个位置下多了⼀个txt⽂件
4. 创建⼀个Excel⽂件
#创建⼀个workbook对象,相当于创建⼀个Excel⽂件
book = xlwt.Workbook(encoding='utf-8',style_compression=0)
'''
Workbook类初始化时有encoding和style_compression参数
encoding:设置字符编码,⼀般要这样设置:w = Workbook(encoding='utf-8'),就可以在excel中输出中⽂了。默认是ascii。
style_compression:表⽰是否压缩,不常⽤。
'''
5.创建⼀个sheet对象
# 创建⼀个sheet对象,⼀个sheet对象对应Excel⽂件中的⼀张表格。
sheet = book.add_sheet('Output', cell_overwrite_ok=True)
# 其中的Output是这张表的名字,cell_overwrite_ok,表⽰是否可以覆盖单元格,其实是Worksheet实例化的⼀个参数,默认值是False 6.在表格⾥添加好基本的数据标题,我这⾥是X和Y坐标
python怎么读取文件中的数据# 向表中添加数据标题
sheet.write(0, 0, 'X')  # 其中的'0-⾏, 0-列'指定表中的单元,'X'是向该单元写⼊的内容
sheet.write(0, 1, 'Y')
7.多次切割数据并定位好需要的部分保存进Excel
#对⽂本内容进⾏多次切⽚得到想要的部分
n=1
with open('','r+') as fd:
for text adlines():
x=text.split(':')[2]
y=text.split(':')[3]
print (x.split('w'))
print (y.split('w'))
sheet.write(n,0,x.split('w')[0])#往表格⾥写⼊X坐标
sheet.write(n,1,y.split('w')[0])#往表格⾥写⼊Y坐标
n = n+1
# 最后,将以上操作保存到指定的Excel⽂件中
book.save('Output.xls')
现在定位到之前定义的⽂件位置,发现⼜多了⼀个Excel表格,打开Excel,想要的数据齐齐整整的排好躺在⾥⾯,舒服~
此时数据为⽂本格式,想要进⼀步的处理请⽤Excel转换成数字格式
源代码:
Reference:
总结
到此这篇关于教你⽤python提取txt⽂件中的特定信息并写⼊Excel的⽂章就介绍到这了,更多相关python提取txt⽂件写⼊Excel 内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。