用python(numpy)读取指数格式的数据

2024-05-17 13:05:24 发布

您现在位置:Python中文网/ 问答频道 /正文

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

import numpy as np
filename ="0 A.dat"
data = np.loadtxt(filename, delimiter=',', skiprows=3)

但我得到了这个错误 ValueError:无法将字符串转换为浮点:


Tags: 文件数据代码importnumpy示例data链接
2条回答

你可以和熊猫一起读:

作为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

我不知道这是否是你正在寻找的答案,但我尝试了你的数据,它返回了这个 数组([list(['%Version 1.00']),列表(['%')), 列表(['%freq[Hz]\tTrc1\U S21[dB]\tTrc2\U S21[U]\tTrc3\U S21[U]\tTrc4\U S21[U]'), ..., 列表([9998199819.981998,-22.89936928953151,0.07161954135843378,-0.0618770495057106,-0.03606368601322174,'), 列表([9999990909.991,-22.91188769540125,0.07151639513438152,-0.06464007496833801,-0.03059829212725163,”), 列表([1000000000.0,-22.925963063398167,0.0714005976172012,-0.0669037401676178,-0.02493862248957157,,]), 数据类型=对象)

相关问题 更多 >