迭代错误书写文件,以蟒蛇excel
问题描述:
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()
我是一个skiddy蟒蛇。在这里,我试图通过xlrd读取xls文件中的数据,并通过xlsxwriter模块将其复制到另一个xlsx文件。但数据不会粘贴在创建的表格中。请通过这个指导我。 以上是我的确切代码。如有任何错误,请纠正我。迭代错误书写文件,以蟒蛇excel
提前致谢。
答
您的示例程序几乎可行。主要它需要open_workbook()
方法前缀一个类,最好使用XlsxWriter write()
而不是write_string()
,除非您确定所读取的所有数据都是字符串类型。此外,该程序仅读取列0中的值。
下面是与这些更改相同的示例。我还更名变量in_
和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()