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()
我是蟒蛇的滑板。在这里,我正在尝试使用 xlrd 读取数据的xls文件,并通过 xlsxwriter 模块将其复制到另一个xlsx文件。但数据不会粘贴在创建的 xlsx 表中。请指导我完成这个。 上面是我的确切代码。如果有任何错误,请纠正我。
提前致谢。
答案 0 :(得分:0)
您的示例程序几乎可以正常运行。主要是需要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()