从CSV

时间:2016-04-16 23:21:46

标签: python csv numpy matplotlib plot

我正在寻找一些帮助,我真的很陌生,并且不知道它是否只是让myslef变得更难或者是什么。我试图从csv文件中绘制一个简单的折线图。 我尝试了很多方法,但都返回错误: ValueError:无法将字符串转换为float:

这是代码,如果希望通过

获得最佳效果
import csv`
import pylab as pl
import numpy as np
matplotlib.dates as mdates
with open('D:/growth_rate.csv') as csvfile:
     readCSV = csv.reader(csvfile, delimiter=',')

for row in readCSV:
    print (row)
a= (row)
np.shape(a)
x,y = np.loadtxt('D:/growth_rate.csv', delimiter = ',', unpack=True,
                         converters = {0: mdates.strpdate2num('%d/%m/%Y')})

我也尝试过csv阅读器方法,但类似的问题

a = zip(*csv.reader(open('D:/growth_rate.csv', 'rb')))
csv.writer(open('D:/growth_rate.csv', "wb")).writerows(a)

print a

我不知道它是否与csv文件有问题,它最初是一个xls文件,带有公司标题和其他废话,所以我把它放入csv并尝试了一个txt文件。无论是那个还是我都错过了一些非常明显的东西,

任何帮助,非常感谢。

2 个答案:

答案 0 :(得分:2)

您也可以在numpy / matplotlib中执行此操作而无需pandas。请注意,np.genfromtxt可以很好地处理空行(而不是np.loadtxt会破坏。默认情况下,这些值会被NaN填充,但您可以使用{{1}更改此值选项。

filling_values

答案 1 :(得分:0)

pandas方法:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var GroupsSchema = new Schema ({
    groupName: String
});

module.exports = mongoose.model('groups', GroupsSchema);
var groupName = module.exports;

enter image description here

enter image description here