Ich versuche, eine große .csv-Datei mit Text und Zahlen mit genfromtxt in numpy zu importieren. Ich bin nur an zwei Spalten interessiert. Ich habe die meisten der Import aussortiert mit:Python: Konvertieren Zeichenfolge (in wissenschaftlicher Notation) in float
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)
Mit Ausgang für Elem und CONCS jeweils:
['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']
ich viele verschiedene Dinge zur Umwandlung der CONCS String in einem Schwimmer versucht, aber es doesn Ich mag die Tatsache nicht, dass die Concs in wissenschaftlicher Notation sind ... gibt es eine Möglichkeit, die concs-Werte in einen Float zu verwandeln? Danke im Voraus für deine Unterstützung.
Obligatorische Liste Verständnis Ansatz: 'n = ['3.76E + 00', '1.31E + 01', '1.14E + 01'] [float (i) für i in n]' –
float (i) gewonnen arbeite nicht für mich. Ich habe eine gemischte Liste und möchte sie konvertieren. Nicht sicher, was ich verwenden soll, wenn ich es nicht teilen will. –