чтение определенных столбцов из файла Excel и запись в другой файл Excel - PullRequest
0 голосов
/ 26 сентября 2018

Моя цель - прочитать столбцы файла Excel и записать их в другой новый файл.До сих пор я могу создать новый файл с указанными столбцами. Я могу читать файл Excel на основе индекса строки и столбца.Но моя цель другая.Я должен выбрать определенные столбцы из файла Excel и записать все данные в другой файл в том же столбце.Как я могу этого добиться.

require 'spreadsheet'

    #Step 1 : create an excel sheet

    book = Spreadsheet::Workbook.new
    sheet = book.create_worksheet
    sheet.row(0).concat %w[id column_1 column_2 column_3]
    book.write 'Data/write_excel.xls'

    #step 2 : read the data excel file

    book1 = Spreadsheet.open('Data/read_excel.xls')
    sheet1 = book1.worksheet('')
    val = sheet1[0, 1]
    puts val

1 Ответ

0 голосов
/ 26 сентября 2018

Это опция, знающая перед номером исходного столбца и номером столбца назначения:

# Step 3 copy the columns

col_num = 3 #=> the destination column
row_num = 1 #=> to skip the headers and start from the second row
sheet1.each row_num do |row|
    sheet[row_num, col_num] = row[0] # row[1] the number represents the column to copy from the source file
    row_num += 1
end

Затем сохраните файл: book.write 'filename'

...