Когда и где я требую файлов в применении рельсов?

Если несколько файлов csv заархивированы, вы можете использовать zip-файл для чтения всех и конкатенации, как показано ниже:

import zipfile
import numpy as np
import pandas as pd

ziptrain = zipfile.ZipFile('yourpath/yourfile.zip')

train=[]

for f in range(0,len(ziptrain.namelist())):
    if (f == 0):
        train = pd.read_csv(ziptrain.open(ziptrain.namelist()[f]))
    else:
        my_df = pd.read_csv(ziptrain.open(ziptrain.namelist()[f]))
        train = (pd.DataFrame(np.concatenate((train,my_df),axis=0), 
                          columns=list(my_df.columns.values)))
27
задан Lee 22 January 2010 в 23:47
поделиться

5 ответов

Этот является полезным постом об этой проблеме.

Короче говоря, Rails автоматически загружает классы в вашем каталоге lib только в том случае, если они следуют соответствующим соглашениям об именах.

14
ответ дан tfwright 15 October 2019 в 06:32
поделиться

Rails автоматически добавит /lib /vendor /app этот каталог в путь автозагрузки. Когда вам нужны некоторые константы, вам нужен конкретный файл. И вам не нужно требовать это во второй раз, потому что это было бы бесполезно.

0
ответ дан Sergio Tulentsev 15 October 2019 в 06:32
поделиться

Я, как правило, помещаю, что требует оператора в файле конфигурации / инитализатора, например. конфиг / инициализаторы / load_proxy.rb

4
ответ дан 28 November 2019 в 05:51
поделиться

Также обратите внимание, что некоторые приходят с этими комментариями:

Rails::Initializer.run do |config|
  # Add additional load paths for your own custom dirs
  # config.load_paths += %W( #{RAILS_ROOT}/extras )
  config.load_paths << "#{RAILS_ROOT}/app/models/some_model_group"
  config.load_paths << "#{RAILS_ROOT}/lib"
end
0
ответ дан 28 November 2019 в 05:51
поделиться

Вы тоже пытались убрать его с первой модели? Я считаю, что Rails автоматически загрузит любые файлы, которые у вас есть в каталоге lib, без необходимости явного запроса их .

1
ответ дан 28 November 2019 в 05:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: