ValueError: слишком много значений для распаковки (ожидается 2) python с использованием txt - PullRequest
0 голосов
/ 25 марта 2020

Я извлекаю данные из файла. когда я пытаюсь напечатать некоторые специфические значения, появляется это

ValueError                                Traceback (most recent call last)
<ipython-input-74-3ebd5a973be1> in <module>()
      5 fig.suptitle('file.txt')
      6 
----> 7 fs, data = np.loadtxt('file.txt', delimiter = ' ', unpack = True)
      8 
      9 tamdata = data.size

ValueError: too many values to unpack (expected 2)


любой иде, как я могу это исправить?

import numpy as np

fs, data = np.loadtxt('file.txt', delimiter = ' ', unpack = True) #the error seems to be in this line

tamdata = data.size
duration = tamdata/fs
dt = duration/tamdata
t = np.arange(0,duration,dt)

print('Record frecuency fs = %.1f datos/s' % fs)
print('Number of data = %.f' % tamdata)
print('Duration = %f s'  % duration)
print('Temporary Sample = %f s' % dt)

Ответы [ 2 ]

0 голосов
/ 25 марта 2020

Согласно документации здесь , при использовании параметра unpack=True массивы возвращаются для каждого поля. Это означает, что вам придется либо использовать столько переменных, сколько полей в вашем файле, либо просто использовать одну переменную, которая может принимать все поля, возвращаемые функцией.

Кажется, существует более 2 полей (фс и данные)

0 голосов
/ 25 марта 2020

Похоже, вы пытаетесь распаковать его так, что fs - это первый столбец, а data содержит оставшиеся столбцы. Если это так, то вот что вы хотите:

fs, *data = np.loadtxt('file.txt', delimiter = ' ', unpack = True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...