无法将我的标题从excel写入python中的另一个excel

时间:2015-03-24 17:03:19

标签: python excel python-2.7 xlrd xlsxwriter

我无法理解为什么我的代码没有运行,我不知道关于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()

1 个答案:

答案 0 :(得分:2)

检查下面的循环:

for first in firstRow:
    while first:
        worksheet2.write(number, 0, first)
        number += 1

我们永远不会退出while first:循环,因为它始终存在first并且永远不会更改。我们首先打开firstfirstRow的循环:

  

1)first是工作簿中A1的值

     

2)现在我们循环while first

     

3)我们将first写入number0 0, 0

的单元格      

4)增加number并再次重复while first

     

5)现在再次将first写入number0的单元格,现在为1, 0

     

6)增加number并再次重复while first

你可以看到我们永远不会离开这个循环,你的程序无休止地将first写入新的单元格。

您可能想要使用:

for first in firstRow:
    worksheet2.write(number, 0, first)
    number += 1