我无法理解为什么我的代码没有运行,我不知道关于python的重要事情,但这似乎很基本,我在考虑firstRow
是一个数组,我是对的?另外,我实现了我的新excel文件,而first
不是空的(如果我清楚地知道如何检查它是否为空)..谢谢
import xlsxwriter
import xlrd
#ouvre l'excel
workbook = xlrd.open_workbook('myExcel.xlsx', on_demand = True)
#utilise le 2nd spreadsheet
worksheet = workbook.sheet_by_index(1)
#recupere la premiere ligne (headers) // a priori un array
firstRow = worksheet.row_values(0)
# Create an new Excel file and add a worksheet.
workbook2 = xlsxwriter.Workbook('demo2.xlsx')
worksheet2 = workbook2.add_worksheet()
number = 0
#pour chaque colonne, l'écrire dans une nouvelle colonne du fichier excel
for first in firstRow:
while first:
worksheet2.write(number, 0, first)
number += 1
workbook2.close()
答案 0 :(得分:2)
检查下面的循环:
for first in firstRow:
while first:
worksheet2.write(number, 0, first)
number += 1
我们永远不会退出while first:
循环,因为它始终存在first
并且永远不会更改。我们首先打开first
中firstRow
的循环:
1)
first
是工作簿中A1的值2)现在我们循环
while first
3)我们将
的单元格first
写入number
,0
0, 0
4)增加
number
并再次重复while first
。5)现在再次将
first
写入number
,0
的单元格,现在为1, 0
6)增加
number
并再次重复while first
。
你可以看到我们永远不会离开这个循环,你的程序无休止地将first
写入新的单元格。
您可能想要使用:
for first in firstRow:
worksheet2.write(number, 0, first)
number += 1