2014-10-02 3 views
0

Так что я пытаюсь исключить три верхние строки во время извлечения данных.Python/Excel - извлечение выделенных данных excel - исключение строк поддерживает структуру

for col_num in xrange(sheet.ncols): 
    col = sheet.col_values(col_num, start_rowx=3, end_rowx=None) 
    writer.writerow(col) #this syntax also may be skewing my results as well 

Эта петля исключает верхние три ряда, а затем превращает строки в столбцы.

Любые рекомендации относительно того, как поддерживать структуру данных, но в то же время устранить строки?

Полный сценарий ниже:

import glob 
import os 
import xlrd 
import csv 

ROOTDIR = r'C:\Users\username\Desktop\Mults' 
wb_pattern = os.path.join(ROOTDIR, '*.xlsx') 

workbooks = glob.glob(wb_pattern) 

with open('merged.csv', 'wb') as outcsv: 
writer = csv.writer(outcsv) 
    for wb in workbooks: 
     book_path = os.path.join(ROOTDIR, wb) 
     book = xlrd.open_workbook(book_path) 
     sheet = book.sheet_by_index(0) 
     for colx in xrange(sheet.ncols): 
      col = sheet.col_values(colx, start_rowx=2, end_rowx=None) 
      writer.writerow(col) #this syntax also may be skewing my results 

Спасибо!

Любая помощь очень ценится!

ответ

0

Если вам нужны значения строк, почему вы тянете столбцы для записи в виде строк? Вытяните значения строк и напишите их:

import glob 
import os 
import xlrd 
import csv 

ROOTDIR = r'C:\Users\username\Desktop\Mults' 
wb_pattern = os.path.join(ROOTDIR, '*.xlsx') 

workbooks = glob.glob(wb_pattern) 
start_rownum = 3 # or wherever you want to start copying 
with open('merged.csv', 'wb') as outcsv: 
    writer = csv.writer(outcsv) 
    for wb in workbooks: 
     book_path = os.path.join(ROOTDIR, wb) 
     book = xlrd.open_workbook(book_path) 
     sheet = book.sheet_by_index(0) 
     for rownum in xrange(start_rownum, sheet.numrows): 
      row = sheet.row_values(rownum) 
      writer.writerow(row) 
+0

Благодарим за скорый ответ. Я понимаю, что ты имеешь в виду. У меня явно было непонимание синтаксиса [col_value]. Спасибо, что освободили меня. –

+0

'col_values' разрезает столбец по нескольким строкам, что отлично подходит для работы с электронными таблицами, но не для того, что ожидает' csvwriter'. –

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