在python(numpy)中以指数格式读取数据

问题描述 投票:0回答:2

我正在尝试读取数据,但它的第一列包含 exp 格式的数据,这不允许我读取该文件,这是我的代码的最小工作示例,这是用于尝试代码的链接 datafile

import numpy as np filename ="0 A.dat" data = np.loadtxt(filename, delimiter=',', skiprows=3)
但我收到此错误

ValueError:无法将字符串转换为浮点数

python numpy exponential
2个回答
0
投票
你可以用 pandas 来阅读它们:

将 pandas 导入为 pd

data = pd.read_csv(文件名,分隔符=',',skiprows=3)


0
投票
import numpy as np def yesfloat(string): """ True if given string is float else False""" try: return float(string) except ValueError: return False data = [] with open('0 A.dat', 'r') as f: d = f.readlines() for i in d: k = i.rstrip().split(",") data.append([float(i) if yesfloat(i) else i for i in k]) data = np.array(data, dtype='O') data

我不知道这是否是您正在寻找的答案,但我用您的数据尝试过,它返回了这个 array([list(['% 版本 1.00']), list(['%']), list(['%freq[Hz] Trc1_S21[dB] Trc2_S21[U] Trc3_S21[U] Trc4_S21[U]']), ..., 列表([9998199819.981998,-22.89936928953151,0.07161954135843378,-0.0618770495057106,-0.03606368601322174,'']), 列表([9999099909.991,-22.91188769540125,0.07151639513438152,-0.06464007496833801,-0.03059829212725163,'']), 列表([10000000000.0,-22.92596306398167,0.07140059761720122,-0.0669037401676178,-0.02493862248957157,''])], dtype=对象)

© www.soinside.com 2019 - 2024. All rights reserved.