我試圖用numpy中的genfromtxt來導入包含文本和數字的大型.csv文件。我只對兩欄感興趣。我有大部分的進口與整理出來:Python:將字符串(科學記數法)轉換爲浮點數
def importfile(root):
data = root.entry.get()
atw = np.genfromtxt(data, delimiter=",",
skip_header=1,
skip_footer=2,
autostrip=True,
usecols=(25,26),
dtype=("|S10"))
elem = atw[:,0]
concs = atw[:,1]
print(elem)
print(concs)
分別輸出ELEM和CONCS:
['Na2O' 'MgO' 'Al2O3' 'SiO2' 'P2O5' 'SO3' 'Cl' 'K2O' 'CaO' 'TiO2' 'Cr2O3'
'MnO' 'FeO' 'NiO' 'Cu2O' 'ZnO' 'Ga2O3' 'SrO' 'Y2O3']
['3.76E+00' '1.31E+01' '1.14E+01' '4.04E+01' '1.24E+00' '5.89E-02'
'2.43E-02' '1.53E+00' '1.49E+01' '2.87E+00' '6.05E-02' '1.96E-01'
'1.17E+01' '3.69E-02' '8.73E-03' '1.39E-02' '1.93E-03' '1.88E-01'
'5.58E-03']
我已經嘗試了許多不同的事情了CONCS字符串轉換成浮動,但它不似乎並不喜歡concs採用科學記數法的事實......是否存在將濃度值變爲浮點數的方法?預先感謝您的支持。
強制列表理解方法:'n = ['3.76E + 00','1.31E + 01','1.14E + 01'] [float(i)for i in n]' –
float(i)won不爲我工作。我有一個混合列表,我想轉換它。不確定如果我不想分割它,我應該使用什麼。 –