Что я хочу делать: Пропустить A1: A6, Пропустить B1: B6 и сохранить остальные в csv. Эквивалентно, я хочу сохранить A7: B+ws.max_row
в csv.Есть ли более pythonic способ пропустить строки в xlsx?
Мой подход:
for sheet_name in wb.get_sheet_names():
sheet = wb.get_sheet_by_name(sheet_name)
col1 = []
cnt = 1
for i in sheet['A']:
if cnt <= 6:
cnt += 1
continue
col1.append(i.value)
col2 = []
cnt = 1
for i in sheet['B']:
if cnt <= 6:
cnt += 1
continue
col2.append(i.value)
data = zip(col1, col2)
with open(str(sheet_name)+'.csv','wb') as out:
csv_out=csv.writer(out)
for row in data:
csv_out.writerow(row)
Что мне не нравится мой подход: cnt
и вручную выбрать А, затем выберите B. (Я хочу, чтобы пропустить точно такое же количество строк для А и В)
Мой вопрос: Есть ли более pythonic способ пропустить строки в xlsx?
Не могли бы вы 'zip (лист ['A'], лист [ 'B']) 'или возможно' для строки в листе ['A: B'] '(я не знаком с этим пакетом, так что это просто догадки с моей стороны) –
Я пробовал' zip (sheet ['A7 ':' the_max_row '], лист [' B7 ':' the_max_row ']) ', но он возвращает только набор ячеек, но не может вернуть значение ячеек. –
Если вы можете получить кортеж клеток, не можете ли вы работать с ячейками в каждом кортеже? –