python中的各種數據類型中的數據格式轉換


一,轉換list中的數據格式 str --> float

(一)使用自定義函數

def str2float(list)
      strlist=[]
      for i in list:
            strlist.append(float(i))
      return strlist

小技巧:

1.轉換千分符的數字(str)為float型
由於金融行業中的數字常常是帶有千分符的,這導致這樣的數字不能直接用float()來轉換,因為要先處理一下

str = "300,000,000.00"
str = str.replace(',','')    #把字符串中的,用空來代替。
str = float(str)
結果: 300000000.00

2.交換Dict的key,value的位置:(要注意排除value值有重復的情況)

dict_ori = {'A':1, 'B':2, 'C':3}
dict_new = {value:key for key,value in dict_ori.items()}
print(dict_new)

二,轉換dict中的數據格式 str --> float

1、字典名.keys:返回一個key的列表
2、字典名.values:返回一個value的列表

(一)轉換dict中key的數據格式
(二)使用dict中value的數據格式

三,數據類型函數轉換

int(x [,base ]) 將x轉換為一個整數
long(x [,base ]) 將x轉換為一個長整數
float(x ) 將x轉換到一個浮點數
complex(real [,imag ]) 創建一個復數
str(x ) 將對象 x 轉換為字符串
repr(x ) 將對象 x 轉換為表達式字符串
eval(str ) 用來計算在字符串中的有效 Python表達式,並返回一個對象
tuple(s ) 將序列 s 轉換為一個元組
list(s ) 將序列 s 轉換為一個列表
chr(x ) 將一個整數轉換為一個字符
unichr(x ) 將一個整數轉換為Unicode字符
ord(x ) 將一個字符轉換為它的整數值
hex(x ) 將一個整數轉換為一個十六進制字符串
oct(x ) 將一個整數轉換為一個八進制字符串

千分符的數字轉為真正的數字

國際標准:

from locale import *
setlocale(LC_NUMERIC, 'English_US')
atof('123,456')    # 123456.0

土辦法(將,代替為'')

def convert2float(list):
      list[i]=list[i].replace(',','')
      list[i]=float(list[i])

案例:
num = 34567890.37121

print(f'{int(num):,d}')
34,567,890

print(f'{int(num):,f}')
34,567,890.000000

print(f'{num:,f}')
34,567,890.371210

print(f'{num:,.2f}')
34,567,890.37


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM