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']), list (['% ']), list (['% freq [Гц] \ tTrc1_S21 [дБ] \ tTrc2_S21 [U] \ tTrc3_S21 [U] \ tTrc4_S21 [U] ']), ..., список ([9998199819.981998, -22.899369289513151011) , -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 = object)