迭代错误写入文件,以优秀的python

import string import xlrd import xlsxwriter workbook = xlsxwriter.Workbook('C:\T\file.xlsx') worksheet = workbook.add_worksheet() book = open_workbook(r'C:\T\test.xls','r') sheet = book.sheet_by_index(0) for row_index in range(sheet.nrows): for col_index in range(sheet.ncols): print sheet.cell(row_index,0).value x = sheet.cell(row_index,0).value worksheet.write_string(row_index,col_index,x) workbook.close() 

我对python很敏感。 在这里,我试图用xlrd读取xls文件的数据,并通过xlsxwriter模块将其复制到另一个xlsx文件。 但数据不会被粘贴到创build的xlsx表单中。 请引导我通过这个。 以上是我的确切代码。 如果有任何错误,请纠正我。

提前感谢一下。

你的示例程序几乎可行。 主要是它需要open_workbook()方法加上一个类的前缀,除非您确定所有读取的数据都是stringtypes,否则最好使用XlsxWriter的write()而不是write_string() 。 此外,该程序只读取列0中的值。

以下是这些变化的例子。 我也重命名了variablesin_out_ ,以便更清楚哪个模块正在调用哪个方法:

 import xlrd import xlsxwriter out_workbook = xlsxwriter.Workbook('file.xlsx') out_worksheet = out_workbook.add_worksheet() in_workbook = xlrd.open_workbook(r'test.xls', 'r') in_worksheet = in_workbook.sheet_by_index(0) for row_index in range(in_worksheet.nrows): for col_index in range(in_worksheet.ncols): cell_value = in_worksheet.cell(row_index, col_index).value out_worksheet.write(row_index, col_index, cell_value) print cell_value out_workbook.close()