我有以下代码是教程的一部分
import csv as csv
import numpy as np
csv_file_object = csv.reader(open("train.csv", 'rb'))
header = csv_file_object.next()
data = []
for row in csv_file_object:
data.append(row)
data = np.array(data)
Run Code Online (Sandbox Code Playgroud)
代码按预期工作,但我不清楚为什么调用.next()带变量的文件header工作.是不是csv_file_object仍然是整个文件?程序如何知道在for row in csv_file_object调用时跳过标题行,因为一旦定义变量标题就不会被引用?
我正在尝试使用Vincent创建一个多线图.
我有一个csv文件,具有以下布局:
,wk1,wk2,wk3,wk4,wk5,wk6,wk7,wk8,wk9
Tom J,97,65,82,65,101,84,79,71,83
Lisa R,95,87,95,65,61,78,93,95,56
Rich F,51,111,50,119,84,77,73,84,60
Anne E,63,68,89,70,95,80,56,75,82
Dan M,83,95,36,115,79,79,65,55,69
Mack W,67,89,72,79,47,64,113,94,33
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
import pandas as pd
import vincent
df = pd.read_csv('weekscores.csv', index_col=0)
lines = vincent.Line(df)
lines.axis_titles(x='WEEKS', y='SCORE')
lines.legend(title='Player')
lines.to_json('line.html',html_out=True,html_path='line_template.html')
Run Code Online (Sandbox Code Playgroud)
这会运行并生成图表,但图表中不显示任何行:

使用.grammar()检查数据我看到每周的得分都是这样的:
{'val': 97, 'col': 'wk1', 'idx': 'Tom J'}
Run Code Online (Sandbox Code Playgroud)
任何协助获得此渲染表示赞赏.