我是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的绘图。
我的问题是我不知道如何保存行中的所有值,以及如何只获取第一列和第二列。
谢谢大家!
答案 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])