сохранение данных из двух столбцов в два списка

#python #list #numpy #math #split

#python #Список #numpy #математика #разделение

Вопрос:

У меня есть два столбца с числами с плавающей запятой. Что мне нужно, так это разделить данные в каждом столбце на отдельные списки (x и y) и отобразить данные y против x. Я кое-что написал, но он продолжает выдавать мне ошибку ValueError: для распаковки требуется более 1 значения

извлечение файла данных выглядит следующим образом,

 0.0 1.0   
0.02 1.0   
0.04 1.0  
0.06 1.0  
0.08 1.0   
0.1 1.0   
0.12 1.0   
0.14 1.0   
0.16 1.0   
0.18 1.0   
0.2 1.0  
0.22 1.0   
0.24 1.0   
0.26 1.0   
0.28 1.0   
0.3 1.0  
  

и мой код выглядит так,

   import NumPy as np
  import math

  f = open('partA-imag.dat' , "r").  
  lines = f.readlines(). 
  #file.close().                                                                       
  x_axis = [].                                                                       
  y_axis = [].                                                                       
  for line in lines: 
      x,y = line.split(). 
      x_axis.append(x). 
      y_axis.append(y). 
      print(x,y). 

  print(x_axis). 
  print(y_axis). 
  plt.plot(x_axis,y_axis). 
  plt.show()
  

Комментарии:

1. попробуйте lines = f.read()

2. нет, не сработало

3. можете ли вы точно показать, как выглядят данные в файле? Попробуйте x, y = line.split(' ')

4. это все еще выдает мне ту же ошибку.

5. Я обновил извлеченные данные, чтобы сделать их более понятными. извлеченные данные здесь приведены сверху до некоторой точки, а все остальные строки выглядят точно так же.

Ответ №1:

 lines = f.readlines()
x_ = []
y_ = []
for line in lines:
    x, y = line.split(' ')
    x_.append(float(x.rstrip()))
    y_.append(float(y.rstrip()))
  

Комментарии:

1. выдает мне эту ошибку «y_.append(float(y.rstrip())). Ошибка ValueError: не удалось преобразовать строку в float: »

2. это означает, что появилась пустая строка, проверьте наличие пустых строк

3. честно говоря, ни в одном из столбцов нет пустых строк

4. Я бы хотел, чтобы был способ поделиться с вами файлом данных, чтобы вы тоже могли его видеть!

5. @Xdrake Мне удалось сделать это с вашим файлом, изменив эту строку x, y = line.split()