Ошибка записи файла итерации, чтобы преуспеть с 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()
Я занос к питону. Здесь я пытаюсь прочитать файл xls с xlrd для данных и скопировать его в другой файл xlsx через модуль xlsxwriter. но данные не будут вставлены в созданный лист xlsx. Пожалуйста, проведите меня через это. Выше мой точный код. Пожалуйста, исправьте меня, если что-то не так.
Залп Спасибо заранее.
1 ответ
Ваша программа-пример почти работает. В основном это нужно 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()