请教各位 openpyxl 模块怎样方法才能把不同长度的 list 保存 excel

2022-09-27 00:20:12 +08:00
 Ne

data1 = [11, 22]

data2 = [33, 44]

data3 = [55, 66, 77, 88]

保存成下面的以列的 excel

从网上找了很多资料也没有教,openpyxl 的官网教的全是同长度的。是很少人用这模块吗。

2079 次点击
所在节点    Python
5 条回复
fbichijing
2022-09-27 01:25:45 +08:00
Pandas 倒省事一些,openpyxl 思路应该也大同小异吧。

```python
import pandas as pd

data1 = [11, 22]
data2 = [33, 44]
data3 = [55, 66, 77, 88]

df = pd.DataFrame([data1, data2, data3])
df = df.T
df.to_excel('test.xlsx', index=False, header=False)
```
kkeep
2022-09-27 01:38:20 +08:00
补位吧
mieq
2022-09-27 02:07:44 +08:00
import openpyxl
import itertools

data1 = [11, 22]
data2 = [33, 44]
data3 = [55, 66, 77, 88]

wb = openpyxl.Workbook()
ws = wb.active

data = itertools.zip_longest(data1, data2, data3)

for row in data:
ws.append(list(row))

wb.save('test.xlsx')
kkbblzq
2022-09-27 02:14:06 +08:00
你行列弄反了吧。。。

from openpyxl import Workbook

if __name__ == "__main__":
data = [
[11,22],
[33,44],
[55,66,77,88]
]

wb = Workbook()
sheet = wb.active
for x in data:
sheet.append(x)
wb.save("test.xlsx")
Ne
2022-09-29 16:46:07 +08:00
@mieq 感谢,按你的方法可行。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/883164

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX