我正在尝试读取数据,但它的第一列包含 exp 格式的数据,这不允许我读取该文件,这是我的代码的最小工作示例,这是用于尝试代码的链接 datafile
import numpy as np
filename ="0 A.dat"
data = np.loadtxt(filename, delimiter=',', skiprows=3)
但我收到此错误
ValueError:无法将字符串转换为浮点数
将 pandas 导入为 pd
data = pd.read_csv(文件名,分隔符=',',skiprows=3)
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=对象)