python处理文件(一)

系统 174 0

python读取文件基础篇

Introduction

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

Method

首先第一步先简单浏览一下自己要处理的文件,以及所要提取的数据,下图显示了文件中我要提取的文件内容:
python处理文件(一)_第1张图片

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

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

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;当然如果有其他问题也欢迎交流。

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


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请请扫描上面二维码支持博主1元、2元、5元等您想捐的金额吧,狠狠点击下面给点支持吧

发表我的评论
最新评论 总共0条评论