python处理文件(一)

python读取文件基础篇

Introduction

纠结了许久,在科研与计算机之间徘徊了很久,但是依旧稀里糊涂的不知道自己想要的是啥,反正很纠结,等到过了这一段时间,等尘埃落定再来叙述自己狗血的剧情!好了,工作还是要继续呀,对于工作人士利用python处理文件在很大概率上可以起到事半功倍的效果,因此建议大家在平时的过程中多积累处理文件的技巧,今天我也遇到了类似的文件处理,由于跟以前所写的博文中处理的文件稍微有所不同,所以在此也简单写一下,好了废话不多说,开始我们的文件操作:

Method

首先第一步先简单浏览一下自己要处理的文件,以及所要提取的数据,下图显示了文件中我要提取的文件内容:
在这里插入图片描述

主要Binding Energy(eV)和Intensity(cps)为两行数据,但是总共有四块内容,相应内容如下,需要将这四块数据分别提取了不同的文件中,以便可以导入其他软件中进行数据分析。
在这里插入图片描述

首先一点就是这四块内容中的数据点的数量是不相等的,不能直接采用我之前博文中的处理方法,但是我随后想到既然数据点数量不同,何不将读取的数据点数量直接存在数组中进行调用即可,哈哈也是比较简单。对于四个不同的文件内容,直接利用字典就可以了,也是很简单的,但是也是懂了点脑子,搞定后,处理数据就很方便了!

Result

好了直接上代码就可以了:

print("Hello World!")
# python file post tools to XPS datas
with open("20170909_LH_1",'r') as f:
	line = f.readline()
	index = 0
	number = [0,1005,380,460,480]
	dic = {1:'width.txt',2:'O_1s.txt',3:'Ti_2p.txt',4:'C_1s.txt'}
	while line:
		if(line[:7]=='Kinetic'):
			index = index+1
			f.readline()
			filename = dic[index]
			file = open(filename,"w")
			for i in range(number[index]):
				Ek,Eb,cps,Tvalue = f.readline().split()
				file.write("%12.6f \t %12.6f "%(float(Eb),float(cps)))
				file.write('\n')
			file.close()
		line= f.readline()

如果有需要相应文件自己操作的可以发qq邮箱联系我:1307926582@qq.com;当然如果有其他问题也欢迎交流。

最后就是检讨自己算法没有刷,面经题目好好没有整理,惭愧惭愧!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值