我得到的错误 ValueError:无法将[0,8.017587061595629,6.476105944459858,14.247103467749781,18.55773218714581,32.68428298499151,19.87675167486509]转换为Excel**
我想将 ls 中的数据添加到 ws1.cell(1,1),但当我尝试使用上述代码添加时,它返回错误。我还记得,当我的代码在python 2.7和旧版本的openpyxl上运行时,我可以使用相同的方法将值列表添加到单个单元格中。
这是我的代码
from openpyxl import load_workbook, Workbook
wb1 = Workbook()
ws1 = wb1.create_sheet(index=None, title="2020")
ls=[0,8.017587061595629,6.476105944459858,14.247103467749781,18.55773218714581,32.68428298499151,19.87675167486509]
ws1.cell(1,1).value=ls```
**In more details error is:**
ValueError Traceback (most recent call last)
Cell In[1025], line 2
1 ls=[0,8.017587061595629,6.476105944459858,14.247103467749781,18.55773218714581,32.68428298499151,19.87675167486509]
----> 2 ws1.cell(1,1).value=ls
File ~\AppData\Local\anaconda3\lib\site-packages\openpyxl\cell\cell.py:215, in Cell.value(self, value)
212 @value.setter
213 def value(self, value):
214 """Set the value and infer type and display options."""
--> 215 self._bind_value(value)
File ~\AppData\Local\anaconda3\lib\site-packages\openpyxl\cell\cell.py:184, in Cell._bind_value(self, value)
181 dt = get_type(t, value)
183 if dt is None and value is not None:
--> 184 raise ValueError("Cannot convert {0!r} to Excel".format(value))
186 if dt:
187 self.data_type = dt
ValueError: Cannot convert [0, 8.017587061595629, 6.476105944459858, 14.247103467749781, 18.55773218714581, 32.68428298499151, 19.87675167486509] to Excel
2条答案
按热度按时间qv7cva1a1#
我猜您希望将值写入Excel的每一列。
尝试更换线路
由
这能解决你的问题吗?
emeijp432#
答案仍然是一样的,你不能把一个列表写到一个单元格。你可以附加一个列表,比如@traceurSaimn的答案。这将把列表添加到列A中最后一个使用的列表之后的下一行。但这似乎不是你想要的描述。
如果你想把所有的列表写到一个单元格中,那么它需要是一个字符串。
如果你做想添加列表,这样每个元素都被输入到一个单独的单元格中,而不是作为最后一行追加,而是指定列表元素被输入的单元格,你需要循环列表,并通过递增列来指定坐标来写入每个值。