将一个python列表写入excel时出现问题,列表项缺失

时间:2017-12-08 00:39:49

标签: python-3.x

刚刚开始使用Python,我的版本是3.5

我使用openpyxl将列表写入Excel工作表上的单个列,没有太复杂,这里是代码:

import openpyxl
import random

wb = openpyxl.load_workbook('testSave.xlsx')
target_sheet = wb.get_sheet_by_name('Destination')

##create a list with random numbers
for i in range(1,20):
    container.append(random.randint(1,20))

for j in container:
    rowIn = container.index(i)
    target_sheet.cell(row = rowIn + 1, column = 1).value = container[rowIn]

wb.save('testSave.xlsx')

当我打开工作簿时,有几个列表项缺失,总共10个,不确定我做错了什么,几天来一直在研究这个没有任何运气,这可能是愚蠢的,任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

list.index()没有按照您的想法执行操作 - 它返回列表中找到的元素值的第一个索引。鉴于您可以在列表中包含重复元素,您将永远不会获得重复元素的索引。如果您要枚举列表,请使用enumerate()

import openpyxl
import random

wb = openpyxl.load_workbook('testSave.xlsx')
target_sheet = wb.get_sheet_by_name('Destination')

##create a list with random numbers
for i in range(1,20):
    container.append(random.randint(1,20))

for i, j in enumerate(container):
    target_sheet.cell(row = i + 1, column = 1).value = j

wb.save('testSave.xlsx')