給大家看下資料哦
密密麻麻的恐怖如斯,然後放上我的**:
說下思路:
利用xlrd 去訪問excel,首先是開啟檔案 獨取對應的表。我們所需要的資料在第三列,起始位置有效位置是第二行
list
= table.col(colx=
2, start_rowx=
1, end_rowx=
none
)
拿到資料以後我們列印一下會發現,有開頭是number的 有的是text,這裡我們只需要text的
str
(li)
.startswith(
'text'
)
拿到真正需要處理的資料後,就要開始搞事情了,不過有個條件,我們來看下:
def
unhexlify
(hexstr)
:# known case of binascii.unhexlify
""" binary data of hexadecimal representation.
hexstr must contain an even number of hex digits (upper or lower case).
"""return b""
這裡我們看見人家定義的方法,宣告需要偶數的十六進製制數字,我們得需要進行一點處理,將「0x」去掉。然後保證數值是偶數個,然後進行方法呼叫。
hex
=str
(li)[8
:-1]
if(len(
hex)%2
!=0):
hex=
hex[0:
-1] txt = binascii.unhexlify(
hex)
得到了想要的結果,就只需要進行指定格式儲存了,給大家看下效果
'病歷.xlsx'
)table = data.sheets()[
0]#通過索引順序獲取表
list
= table.col(colx=
2, start_rowx=
1, end_rowx=
none
)#print(len(list))
di =
0for li in
list
:#print(str(li))if(
str(li)
.startswith(
'text'))
:hex
=str
(li)[8
:-1]
(len
(hex))
#列印長度
(hex
)#列印資料if(
len(
hex)%2
!=0):
hex=
hex[0:
-1] txt = binascii.unhexlify(
hex)
(txt)
with
open
('內容//'
+str
(di)
+'.xml'
,'wb'
)as f:
f.write(txt)
di = di+
1print
("done"
)
十六進製制轉字串
兩個16進製制的字元轉成乙個位元組 int islowercase signed int character int uppercasetolower int character 這裡是固定傳入偶數個字元的16進製制字元 void strtohex uint8 t hexstr,uint8 t he...
任意長度十進位制字串轉十六進製制字串
所謂十進位制轉換十六進製制,其實就是要了解轉換原理,再把數學邏輯翻譯成 邏輯 比如十進位制字串 12345678 轉換之後為 bc614e 順帶普及下十六進製制值 十六進製制,顧名思義,就是每個字元位的取值範圍為 0 15 其中 十進位制值 十六進製制值 0 0 1 1 2 2 3 3 4 4 5 ...
十六進製制字串操作
任何資料在計算機內部都是以二進位制儲存的,所以進製與資料的儲存無關,只與輸入 輸出有關。所以,對於進製轉換,我們只關心字串中的結果。在上面的第 4 條中提到了 tostring 方法可以將數值轉換成字串,不過在字串 中,結果是以十進位制顯示的。現在我們帶給它加一些引數,就可以將其轉換成十六進製制 使...