刚刚开始使用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个,不确定我做错了什么,几天来一直在研究这个没有任何运气,这可能是愚蠢的,任何帮助将不胜感激。
答案 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')