2015-02-25 7 views
0

Я пытаюсь добавить несколько листов из одного файла excel в один лист в другой файл excel.appending sheet using xlwt (python)

Мой код выглядит следующим образом:

rb2= xlrd.open_workbook(ValidationReport + "2.xlsx") 

for sheet in rb2.sheets(): 
    rowx += 5 
    w_sheet.write(rowx, colx, sheet) 

wb.save(ValidationReport + ".xls") 

и я получаю следующее сообщение об ошибке:

Exception: Unexpected data type class 'xlrd.sheet.Sheet' 

Когда я заменить объект листа со строкой, эта строка будет записывать в нужный файл один раз для каждого листа в моем файле. Есть ли способ написать содержимое одного листа в нижней части другого файла excel с помощью xlwt?

+1

Проблема вы снабжающий [ 'объект Worksheet'] (https://secure.simplistix.co.uk/svn/xlwt/trunk/ xlwt/doc/xlwt.html? p = 4966) в аргумент 'label' метода' write() '. Список объектов, которые могут быть записаны с использованием этого метода, содержится в документации (например, 'str',' xlwt.Formula' и т. Д. И т. Д.). Объект «Worksheet» отсутствует в этом списке. Вы должны написать * штук * этого объекта рабочего листа - например, конкретные ячейки, которые вы хотите скопировать на исходном листе, например. –

ответ

0

Для тех из вас, кто не знаком с Python, это может показаться неинтересным, но для кого-то вроде меня это заняло некоторое время, чтобы понять.

Это намного проще, чем пытаться манипулировать файлами csv, чем файлы excel, и как только я перевернул, все стало намного быстрее.

Мой новый код выглядит примерно так:

 df["Iflag"] = df.Independent.where((df.Independent == 0) | (df.Independent == 1)).notnull().astype(int) 
      Iflag = df[df.Iflag == 0] 
      pd.DataFrame(Iflag, columns=["ID","Independent"]).to_csv(my.csv, mode='ab') 

 Смежные вопросы

  • Нет связанных вопросов^_^