如何用openpyxl将嵌套列表数据按行横向写入Excel新行?
解决方法
你的问题核心是嵌套单元素列表未被展平,导致每次追加单个子列表时都会生成新行。只需先把嵌套列表转换成一维列表,再一次性追加整行数据即可:
修改后的代码
file_path = 'filename' wb = load_workbook(file_path) sheet = wb.active # 将嵌套的单元素列表展平为一维列表 flattened_stats = [item[0] for item in stats] # 一次性追加整行数据,横向填充各列 sheet.append(flattened_stats) wb.save(filename='filename')
关键说明
- 原代码循环遍历
stats中的每个子列表,每次sheet.append(data)都会将单个子列表作为一行写入,因此数据垂直堆叠。 - 通过列表推导式
[item[0] for item in stats],提取每个子列表里的唯一元素组成一维列表,此时sheet.append()会将列表元素依次填充到下一行的横向列中。
内容的提问来源于stack exchange,提问作者Noodle
相关产品推荐
相关产品推荐

