如何在python中创建列表,添加值并将其取出

时间:2013-11-27 09:02:18

标签: python csv matrix

我是python中的新手。 我想从csv文件中读取数据,然后根据这些数据创建图表。 我有一个包含2列和20行的csv文件。 在第一行中我有1 1,第二行有2 2,依此类推,直到20 20。 我想取这个坐标并制作图表。

这是我到目前为止所做的:

import csv
from pylab import *

with open('test.csv', 'rb') as csvfile:
    spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|') # open the csv file
    for row in spamreader:
        print ', '.join(row) #  in each loop, row is getting the data,
                             # first row is [1,1] , then [2,2] and so on

plot()
show()

现在,我在想的是将行放在最后,使用2列和20行包含所有数据。 然后我需要做参数x,作为第一个col,y作为第二个col,并给出x,y的绘图。

我的问题是我不知道如何保存行中的所有值,以及如何只获取第一列和第二列。

谢谢大家!

2 个答案:

答案 0 :(得分:1)

您在阅读csv文件时遇到问题 1) delimiter =','

关于填充图表的x和y值。只需读取每行的第一个和第二个值,然后填充x和y列表。

以下是修改后的代码:

import csv
from pylab import *

with open('test.csv', 'rb') as csvfile:
    spamreader = csv.reader(csvfile, delimiter=',', quotechar='|') # open the csv file
    x = []
    y = []
    for row in spamreader:
        x.append(row[0])
        y.append(row[1])
        print ', '.join(row) #  in each loop, row is getting the data,
                         # first row is [1,1] , then [2,2] and so on

plot(x, y)
show()

答案 1 :(得分:0)

您可以使用它来获取X轴和Y轴:

with open('./test4.csv', 'rb') as csvfile:
    (X,Y) = zip(*[row.split() for row in csvfile])