Конвертация огромных таблиц из экселя в csv
У меня был стомегабайтный документ экселя. Нужно было находить в нём строки, а маковский эксель думал над каждым кликом по 5 секунд. Я попробовал Numbers, он работает быстрее, но теряет данные: в таблице 65535 строк вместо 910070.
Решил сделать из таблицы текстовый файл и работать с ним в виме. Вернулся в эксель и экспортировал файл в csv, вышло так:
Все данные слиплись в одну строку. Можно вылечить автозаменой, но это будет долго, и как-то слишком много мороки.
В итоге экспортировал скриптом
на питоне:
#! /usr/bin/env python
import xlrd
import csv
book = xlrd.open_workbook('postings.xlsx')
# Assuming the fist sheet is of interest
sheet = book.sheet_by_index(0)
# Many options here to control how quotes are handled, etc.
csvWriter = csv.writer(open('postings.csv', 'w'), delimiter='|')
for i in range(sheet.nrows):
csvWriter.writerow(sheet.row_values(i))