2014-08-30 7 views
-3

У меня очень большой файл Excel. Есть строка «------------» этой строки между несколькими строками. Я хотел бы разделить файлы с «------------» на другой «------------» и называть их словом «в» - ---------- ". Пожалуйста, помогите мне в этом.Сплит огромный файл Excel в несколько файлов

+0

Можете ли вы загрузить образец таблицы xls для проверки? Будет ли всегда ячейка рядом с «------------»? –

+0

@MahmoudAbdelkader Это всегда будет ячейка рядом с «------------» – user3783999

+0

На какой платформе вы работаете? –

ответ

1

Что я буду делать, это что-то вроде: http://www.python-excel.org/.

pip install xlrd xlwt 

xlrd - читает файлы Excel

xlwt - пишет Excel файлы

Я бы тогда попытаться что-то вроде этого:

import xlrd 
import xlwt 

def write_rows(batch, filename): 
    current_batch_xls = xlwt.Workbook(encoding='utf-8') 
    first_sheet = current_batch_xls.add_sheet(filename + ' sheet') 
    for row_number, row in enumerate(batch): 
     for cell_number, cell in enumerate(row): 
      first_sheet.write(row_number, cell_number, cell.value, style=cell.xf_index) 
    current_batch_xls.save(filename) 

FILENAME='big-excel-spreadsheet.xls' 
DELIMITER='------------' 
big_spreadsheet = xlrd.open_workbook(FILENAME) 
# assuming you have only one sheet 
sheet = big_spreadsheet.sheet_by_index(0) 
current_batch_of_rows = [] 
for row in xrange(2, sheet.nrows): 
    if row.cell(row, 0) == DELIMITER: 
     write_rows(current_batch_of_rows, filename=row.cell(row, 1)) 
     current_batch_of_rows = [] 
     continue 
    current_batch_of_rows.append(sheet.row(row)) 

тестировалась. Документы кажутся довольно ужасными для xlrd и xlwt.

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