擅长:python、mysql、java
<p>您必须调用<code>openfile</code>,它才能初始化(并为此创建)全局名称<code>enddata</code>。但是,不应使用全局变量。让<code>openfile</code><em>返回</em>要赋给<code>enddata</code>的值,并将其赋给调用范围中的变量。你知道吗</p>
<p>其他一些提示:</p>
<ul>
<li>你的函数不只是打开一个文件,它读取它并返回一些数据。你知道吗</li>
<li>使用<code>with</code>语句管理打开和关闭文件。你知道吗</li>
<li>不要一次把整个文件读入内存,要逐行读。你知道吗</li>
<li>在某种意义上,您在<code>data</code>上迭代了两次:一次使用<code>for</code>循环,另一次使用<code>index</code>。似乎在每次迭代中<code>sample == data[index]</code>。整个迭代可以用一个列表来处理。你知道吗</li>
<li>使用<code>csv</code>模块读取CSV文件。你知道吗</li>
</ul>
<p>综合起来:</p>
<pre><code>import csv
def read_file(fname):
with open(fname) as fh:
return list(csv.reader(fh))
enddata = read_file("weatherData.csv")
</code></pre>