擅长:python、mysql、java
<p>得到错误是因为您只在<code>rowdrop</code>函数中定义了<code>df</code>;函数中定义的变量只能在函数中访问,除非您做了一些更改</p>
<p>更改函数以返回<code>df</code>:</p>
<pre><code>def rowdrop():
einlesen = os.getcwd()
print('test einlesen: ' + einlesen)
df = pd.DataFrame()
df = pd.read_excel('Individual Status.xls', sheet_name = 'Individual Status Raw Data')
df = pd.DataFrame(df)
return df
</code></pre>
<p>并将函数调用的返回值赋给变量:</p>
<pre><code>df = rowdrop()
</code></pre>
<hr/>
<p>另一种被认为是不好的做法是使用<code>global</code>方法使<code>df</code>变量成为全局变量:</p>
<pre><code>def rowdrop():
global df
einlesen = os.getcwd()
print('test einlesen: ' + einlesen)
df = pd.DataFrame()
df = pd.read_excel('Individual Status.xls', sheet_name = 'Individual Status Raw Data')
df = pd.DataFrame(df)
</code></pre>
<p>使用上述方法,您不需要将函数调用分配给变量,但请不要使用该方法,请参见<a href="https://stackoverflow.com/q/19158339/13552470">Why are global variables evil?</a></p>