python讀取文件基礎(chǔ)篇
Introduction
糾結(jié)了許久,在科研與計(jì)算機(jī)之間徘徊了很久,但是依舊稀里糊涂的不知道自己想要的是啥,反正很糾結(jié),等到過了這一段時(shí)間,等塵埃落定再來敘述自己狗血的劇情!好了,工作還是要繼續(xù)呀,對(duì)于工作人士利用python處理文件在很大概率上可以起到事半功倍的效果,因此建議大家在平時(shí)的過程中多積累處理文件的技巧,今天我也遇到了類似的文件處理,由于跟以前所寫的博文中處理的文件稍微有所不同,所以在此也簡(jiǎn)單寫一下,好了廢話不多說,開始我們的文件操作:
Method
首先第一步先簡(jiǎn)單瀏覽一下自己要處理的文件,以及所要提取的數(shù)據(jù),下圖顯示了文件中我要提取的文件內(nèi)容:
主要Binding Energy(eV)和Intensity(cps)為兩行數(shù)據(jù),但是總共有四塊內(nèi)容,相應(yīng)內(nèi)容如下,需要將這四塊數(shù)據(jù)分別提取了不同的文件中,以便可以導(dǎo)入其他軟件中進(jìn)行數(shù)據(jù)分析。
首先一點(diǎn)就是這四塊內(nèi)容中的數(shù)據(jù)點(diǎn)的數(shù)量是不相等的,不能直接采用我之前博文中的處理方法,但是我隨后想到既然數(shù)據(jù)點(diǎn)數(shù)量不同,何不將讀取的數(shù)據(jù)點(diǎn)數(shù)量直接存在 數(shù)組 中進(jìn)行調(diào)用即可,哈哈也是比較簡(jiǎn)單。對(duì)于四個(gè)不同的文件內(nèi)容,直接 利用字典 就可以了,也是很簡(jiǎn)單的,但是也是懂了點(diǎn)腦子,搞定后,處理數(shù)據(jù)就很方便了!
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
(
)
如果有需要相應(yīng)文件自己操作的可以發(fā)qq郵箱聯(lián)系我:1307926582@qq.com;當(dāng)然如果有其他問題也歡迎交流。
最后就是檢討自己算法沒有刷,面經(jīng)題目好好沒有整理,慚愧慚愧!!!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
