我编写了一个脚本来计算维度中的大型csv文件:27000行x 22列。 如何在CSV文件中读取以便在matplotlib中使用它,就像在这个线程中的散点图一样?
理解生成散点图的概念。已经尝试通过例如:
来解析csv文件data=csv.reader(open('some_file.csv, 'rb'), delimiter='|', quotechar='"')
但没有成功。
答案 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
是一个类似文件的对象。您必须迭代它才能访问数据。每一行都是马库斯在他的例子中指出的列表。