Ошибка записи файла итерации, чтобы преуспеть с 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()
Другие вопросы по тегам