Python:读取CSV文件并绘制散点图

时间:2012-02-27 22:35:31

标签: python csv matplotlib scatter

我编写了一个脚本来计算维度中的大型csv文件:27000行x 22列。 如何在CSV文件中读取以便在matplotlib中使用它,就像在这个线程中的散点图一样?

axis range in scatter graphs

理解生成散点图的概念。已经尝试通过例如:

来解析csv文件
data=csv.reader(open('some_file.csv, 'rb'), delimiter='|', quotechar='"')

但没有成功。

3 个答案:

答案 0 :(得分:9)

这是一个快速解决方案

def getColumn(filename, column):
    results = csv.reader(open(filename), delimiter="\t")
    return [result[column] for result in results]

然后你可以像这样使用它

time = getColumn("filename",0)
volt = getColumn("filaname",1)

plt.figure("Time/Volt")
plt.xlabel("Time(ms)")
plt.ylabel("Volt(mV)")
plt.plot(time,volt)

答案 1 :(得分:2)

作为一般替代方案,您可能对Wes McKinney的pandas python包感兴趣:http://pandas.pydata.org/

它确实改变了我使用python进行数据分析的生活。它为python提供了类似于R的data.frame的数据结构,但功能更强大。它建立在numpy之上。

它将非常容易地读取csv文件,将数据加载到可以轻松切片和操作的DataFrame(numpy数组子类)中。

答案 2 :(得分:1)

这是正确的分隔符吗?你看过文件了吗? http://docs.python.org/library/csv.html

data是一个类似文件的对象。您必须迭代它才能访问数据。每一行都是马库斯在他的例子中指出的列表。