Если несколько файлов 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)))
Этот является полезным постом об этой проблеме.
Короче говоря, Rails автоматически загружает классы в вашем каталоге lib только в том случае, если они следуют соответствующим соглашениям об именах.
Rails автоматически добавит /lib /vendor /app
этот каталог в путь автозагрузки. Когда вам нужны некоторые константы, вам нужен конкретный файл. И вам не нужно требовать это во второй раз, потому что это было бы бесполезно.
Я, как правило, помещаю, что требует оператора в файле конфигурации / инитализатора, например. конфиг / инициализаторы / load_proxy.rb
Также обратите внимание, что некоторые приходят с этими комментариями:
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
Вы тоже пытались убрать его с первой модели? Я считаю, что Rails автоматически загрузит любые файлы, которые у вас есть в каталоге lib
, без необходимости явного запроса их
.