python變數型別格式化,結果補全值

2021-08-04 20:52:23 字數 2153 閱讀 9827

在python對資料進行儲存的時候,經常會遇到型別的錯誤,或者缺少某欄位儲存是吧。就隨手寫了乙個簡單的工具類

1,判斷值是否是int

# 通過丟擲異常

def is_int_by_except(value):

value = str(value)

try:

int(value)

return true

except valueerror:

# print "%s valueerror" % value

return false

我是通過最常見的異常做處理

2,判斷值是否是float

def is_float_by_except(string):

str1 = str(string)

if str1.count('.') != 1: # 判斷小數點是不是大於1

return false

elif str1.isdigit():

return false # 判斷是不是整數

else:

new_str = str1.split('.') # 按小數點分割字元

frist_num = new_str[0] # 取分割完之後這個list的第乙個元素

if frist_num.count('-') > 1: # 判斷負號的格數,如果大於1就是非法的

return false

else:

frist_num = frist_num.replace('-', '') # 把負號替換成空

if frist_num.isdigit() and new_str[1].isdigit():

# 如果小數點兩邊都是整數的話,那麼就是乙個小數

return true

else:

return false

判斷是否是float的方法有很多,只要能實現都可以

3,然後就是呼叫方法check值的型別

def check_result_type(result):

"""檢查儲存結果的型別

:param result: 需要格式化的結果

:return:

"""if is_int_by_except(result):

return int(result)

elif is_float_by_except(result):

return float(result)

else:

return result

其實很簡單不是嘛,呼叫一下就可以了

4,然後就是資料的補全並賦值「0」

def format_result(result, rows):

"""格式化補全結果

:param result:結果

:param rows: 行

:return: 格式化後的結果

"""for row in rows.keys():

if row in result.keys():

result[row] = check_result_type(result[row])

else:

if rows.get(row) == "int":

result[row] = 0

elif rows.get(row) == "float":

result[row] = 0.00

else:

result[row] = "0"

return result

python寫起來很舒服。

5,寫個main方法庫測試一下

class checkresulttype(object):

def __init__(self):

self.result =

def format_result(self):

types =

print format_result(self.result, types)

if __name__ == '__main__':

checkresulttype().format_result()

簡單直接。

python 變數的格式化輸出

一 常見的格式化型別及輸出表示式 格式化字元 含義 s 字串 d 整數。例子 02d表示兩位數,不足兩位,用0填充 f小數。例子 2f,表示兩位小數 百分比 二 例項 1 我的名字是 name input 請輸入姓名 print 我的名字是 s,請多多關照 name output 請輸入姓名 小明 ...

變數的格式化

格式化字元 含義 s 字串 d 有符號十進位制整數,06d表示輸出的整數顯示位數,不足的地方使用0補全 f浮點數,02f表示小數點後只顯示兩位 輸出 定義字串變數 name,輸出我的名字叫小明name 小明 print 我的名字叫 s name 我的名字叫小明 定義整數變數 student no,輸...

python 格式化和format格式化

格式 name flags width precision typecode name 可選,用於選擇指定的key flags 可選,可提供的值有 右對齊,整數前加正號,負數前加負號 左對齊,正數錢無符號,負數前加負號 空格 右對齊 正數前加空格,負數前加負號 0 右對齊,正數前無符號,負數前加負號...