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;當然如果有其他問題也歡迎交流。
最后就是檢討自己算法沒有刷,面經題目好好沒有整理,慚愧慚愧!!!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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