Python openpyxl将列表写入Excel错误

Python openpyxl将列表写入Excel错误,python,excel,openpyxl,Python,Excel,Openpyxl,我是Python新手,正在从事我的第一个项目。我试图让我的代码从一个电子表格中复制数据列,并将其附加到主工作表中当前存在的数据中。我能够捕获每个工作表中的数据,并创建一个新的主列表,该列表结合了两个数据集,但我无法将其写入文件。当我测试打印组合列表时,它们看起来是正确的,但是当我添加代码将列表写入文件时,它会挂起 你能提供的任何帮助都会非常有用 下面是我的代码。这是我得到的错误 回溯(最近一次调用上次):文件 “/Path/Path/Path/extractData.py”,第50行,在 des

我是Python新手,正在从事我的第一个项目。我试图让我的代码从一个电子表格中复制数据列,并将其附加到主工作表中当前存在的数据中。我能够捕获每个工作表中的数据,并创建一个新的主列表,该列表结合了两个数据集,但我无法将其写入文件。当我测试打印组合列表时,它们看起来是正确的,但是当我添加代码将列表写入文件时,它会挂起

你能提供的任何帮助都会非常有用

下面是我的代码。这是我得到的错误

回溯(最近一次调用上次):文件 “/Path/Path/Path/extractData.py”,第50行,在 destSheet.cell(行=rowNum,列=1)。值=masterList1

文件 “/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site packages/openpyxl/cell/cell.py”, 第313行,以值表示 自我约束值(值)

文件 “/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site packages/openpyxl/cell/cell.py”, 第217行,输入绑定值 raise VALUERROR(“无法将{0}转换为Excel”。格式(值))

ValueError:无法转换[“再保险人”、“市场1”、“市场2”, ‘市场3’、‘市场4’、‘市场5’、‘市场1’、‘市场2’、‘市场 “市场4”、“市场5”、“市场1”、“市场2”、“市场3”, “市场4”,“市场5']]以超越


您是否尝试过使用
extend
而不是
append
append
将单个项目添加到列表的末尾,而
extend
则接受一个列表参数并添加每个项目。

您可能想使用
masterList1[rowNum]
作为值,而不是将每个单元格的值赋给
masterList1

for rowNum in range(2, len(masterList1)):
    destSheet.cell(row=rowNum, column=1).value = masterList1[rowNum]
另外,正如@mgrant指出的,您应该在前面扩展(而不是追加)主列表:

masterList1.extend(newList1)

openpyxl工作表不是列表。它们确实有一个
append
方法,该方法类似于列表的
append
方法,但具有特定的语法和语义。尝试将列表分配给单个单元格时引发异常。@CharleckLark,你说得对。我的意思是说,
extend
是必要的,正如@alecxe在构建主列表1等时指出的那样。但我同意,分配才是真正的问题。多亏了alecxe和mgrant。两个答案都让我走上了正确的轨道。对上述建议有一个小小的修正。使用extend需要以下语法:masterList1.extend([newList])。不使用括号时,我的值被分解为单个字符,而不是完整的单元格值。@RFuller
extend
将序列作为参数。字符串是单个字符的序列。这是Python中的常见问题。
masterList1.extend(newList1)