Как преобразовать строку в число с плавающей точкой при получении данных из Excel - PullRequest
0 голосов
/ 30 октября 2018

Я импортировал данные из таблицы Excel, читая только первые две строки. Всякий раз, когда я пытаюсь запустить код, моя ошибка заключается в том, что он не может преобразовать строку в число с плавающей точкой. Есть ли способ это исправить? Мой код ниже.

%matplotlib notebook 
import numpy as np                           
import matplotlib.pyplot as plt
import math

file = 'Cepheid_proj.csv'
Cepheid1 = np.loadtxt(file, skiprows=1) 

fig= plt.figure()                            
plt.title('Luminosity vs Period\n') 
axes=fig.add_subplot(111)                    
plt.ylabel('Luminosity (W)')    
plt.xlabel('Period (days)')            
plt.xlim((44500.0,46000.0))      
plt.ylim((9.0,12.0))
axes.plot(Cepheid1[:,0], Cepheid1[:,1], label='Ca ces')

plt.legend(loc=1, prop={'size': 7})          
plt.show() 

1 Ответ

0 голосов
/ 30 октября 2018

Вы можете попробовать что-то вроде этого:

import csv
import numpy
output = csv.reader(open("Cepheid_proj.csv", "rb"), delimiter=",")
x = list(output)
float_output = numpy.array(x).astype("float")

Если этот исходный код не работает, взгляните на следующие шаги:

1.У вас есть файл CVS, прочитайте, как его использовать, см. this

2. Используя numpy, вы должны использовать что-то вроде этого:

from numpy import genfromtxt
csv_data = genfromtxt('Cepheid_proj.csv', delimiter=',')

3. Попробуйте прочитать Преобразование типов данных Python , см. эту ссылку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...