擅长:python、mysql、java
<p>有几件事。首先,您的代码只能得到一行,因为每次通过if测试时都会覆盖这些值。例如</p>
<pre><code> if len(namelist) == 2:
lastname = namelist[1]
</code></pre>
<p>这将为变量<code>lastname</code>分配一个字符串。您没有追加到列表,您只是分配了一个字符串。当你制作数据帧时,
<code>df = pd.DataFrame({'personID':id,'lastName':lastname,...</code>使用此值,因此数据帧将只保存该字符串。有道理?如果必须使用openpyexcel执行此操作,请尝试以下操作:</p>
<pre><code>lastname = [] #create an empty list
if len(namelist) == 2:
lastname.append(namelist[1]) #add the name to the list
</code></pre>
<p>不过,我认为如果你能想出如何处理熊猫的方法,你的生活最终会容易得多。其实很容易。试试这样的:</p>
<pre><code>import pandas as pd
#read excel
df = pd.read_excel('myInputFilename.xlsx', encoding = 'utf8')
#write to excel
df.to_excel('MyOutputFile.xlsx')
</code></pre>