Я знаю, что есть некоторые другие потоки, которые объясняют, как обращаться с большими файлами и Pandas, но на самом деле у меня нет проблем с памятью, я просто хочу открыть много файлов Excel, чтобы получить кучу строк каждый раз (иногда даже только один), а иногда мне даже не нужны все столбцы.
Я видел в других темах людей, предлагающих usecols
и nrows
, но кажется, что pandas по-прежнему загружает весь лист, затем сохраняет только выбранные строки и столбцы. Чтобы быть уверенным, я написал это:
start = time.time()
couples2015 = pd.read_excel(fileInput)
total = time.time() - start
#Reloading file, with only some lines and cols
start = time.time()
couples2015 = pd.read_excel(fileInput, header=4, usecols=0, nrows=10)
total = time.time() - start
, и в обоих случаях загрузка занимает около 55 секунд.
И это только для файла 50 Мо, но у меня есть для загрузки и извлечения большого количества файлов, от 50 Мо до 500 Мо (даже иногда до 1 Гб)
Есть ли способ извлечь некоторые строки и столбцы без загрузки целых файлов? Если нет, то будет ли создание БД с моими файлами Excel для использования read_sql_table () быстрее?
Спасибо!
[edit: более того, каждый файл имеет несколько листов, но я часто хочу только один или два. Даже если я использую sheet_name = 0, кажется, что он все еще открывается и загружает любой лист, так как время почти такое же…]