Я создаю программу, которая использует API для опроса некоторых данных о погоде за последние 5 лет. API использует широту и долготу, а также я использую месяц, день и т. д. Я создал файл под названием «Классы», чтобы исключить мои классы из основного файла и сделать его немного чище, и я хотел импортировать его в мой файл main.py. Но когда я это делаю, он просто выделяет серым один из моих классов, но не другой, который имеет те же параметры, что и первый, он просто используется для заполнения базы данных. Когда я позже использую этот класс в своем сценарии, он просто выдает ошибку «неразрешенная ссылка», потому что класс технически не существует.
Но, как ни странно, неразрешенная ошибка возникает только для двух из Перечислено 5 параметров.
Оператор импорта:
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from Classes import WeatherPull, WeatherDB
У меня класс написан так:
class WeatherPull:
def __init__(self, latitude, longitude, month, day, year):
self.lat = latitude
self.long = longitude
self.month = month
self.day = day
self.year = year
self.avg_temp = None
self.min_temp = None
self.max_temp = None
self.avg_wind_speed = None
self.min_wind_speed = None
self.max_wind_speed = None
self.sum_precip = None
self.min_precip = None
self.max_precip = None
Но когда я запускаю сценарий main.py, он затемняет мой WeatherPull в операторе импорта, а затем выдает ошибку «долгота " и "широта не существует, но день, месяц и год, видимо, в порядке? Я пробовал удлинить self.lat до self.latitude, но это тоже ничего не дало.
У меня есть второй класс позже, WeatherDB, который использует эти параметры в первом классе для заполнения базы данных, и он не выделен серым цветом, но я понятия не имею, работает ли он или нет, потому что так далеко не заходит.
У меня так
class WeatherDB(Base):
__tablename__ = 'pulled_data'
id = Column(Integer, primary_key=True)
lat = Column(Float)
long = Column(Float)
month = Column(Integer)
day = Column(Integer)
year = Column(Integer)
avg_temp = Column(Float)
min_temp = Column(Float)
max_temp = Column(Float)
sum_precip = Column(Float)
min_precip = Column(Float)
max_precip = Column(Float)
avg_wind_speed = Column(Float)
min_wind_speed = Column(Float)
max_wind_speed = Column(Float)
# Fill the Table
@classmethod
def create_table(cls, session, pulled_data):
weather_record = cls(
lat=pulled_data.lat,
long=pulled_data.long,
month=pulled_data.month,
day=pulled_data.day,
year=pulled_data.year,
avg_temp=pulled_data.avg_temp,
min_temp=pulled_data.min_temp,
max_temp=pulled_data.max_temp,
sum_precip=pulled_data.sum_precip,
min_precip=pulled_data.min_precip,
max_precip=pulled_data.max_precip,
avg_wind_speed=pulled_data.avg_wind_speed,
min_wind_speed=pulled_data.min_wind_speed,
max_wind_speed=pulled_data.max_wind_speed
)
session.add(weather_record)
session.commit()
Подробнее здесь: https://stackoverflow.com/questions/784 ... tabase-but
Я пишу сценарий для помещения данных о погоде, полученных из API, в базу данных, но не могу импортировать созданный мной ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Получение ошибки атрибута при создании класса для получения данных о погоде в Python
Anonymous » » в форуме Python - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Получение индекса списка вне диапазона ошибки для исторических данных о погоде [закрыто]
Anonymous » » в форуме Python - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-