Комментарии 15
0
Как говорится, лучше поздно, чем никогда.
По ORM и базам данных больше статей пока не планирую, а там время покажет.
По ORM и базам данных больше статей пока не планирую, а там время покажет.
0
Я веду свои биологические записи в exel и все это надо будет потом подготовить и перевести в базу данных, проблема в том, что в настоящих базах данных я не работал. Хотелось бы узнать о таблицах больше
0
Из Excel данные можно сохранить в виде CSV файла (текстовый формат с разделителями), а потом с помощью Python считать этот CSV (есть функции в стандартной библиотеке) и сохранить в базу.
Это достаточно стандартные вещи, которым посвящено масса материалов в сети.
Это достаточно стандартные вещи, которым посвящено масса материалов в сети.
0
Можете продолжить работу с данными в Excel, а обработку, структурирование и анализ делать программно тем же Python-ом. Для обращения к данным в файлах Excel имеются питоновские библиотеки, задав в поисковике - "python excel" Вы о них узнаете. Например: xlrd, xlwt, xlutils, openpyxl, pandas, pyexcel.
Можно подключаться непосредственно к приложению Excel, как к COM-объекту - https://habr.com/ru/post/232291/#com
0
Все вроде отлично, но с Mysql завести не могу вообще.
PS
Я новичок в Python
PS
Я новичок в Python
0
Я попробовал два варианта
Ответ <mysql.connector.connection_cext.CMySQLConnection object at 0x7f95a0063580>
Ответ <peewee.MySQLDatabase object at 0x7fb4b0063820>
Потом попробовал…
Сам запрос получается корректным, я проверял на phpmyadmin, он выдает то что надо. Но вот в Python выдает ошибку
db_204 = mysql.connector.connect(
host = '192.168.22.204',
user = '1',
password = '1',
database = 'user'
)
print(db_204)
Ответ <mysql.connector.connection_cext.CMySQLConnection object at 0x7f95a0063580>
db_204 = MySQLDatabase(
host = '192.168.22.204',
user = '1',
password = '1',
database = 'user'
)
Ответ <peewee.MySQLDatabase object at 0x7fb4b0063820>
Потом попробовал…
class BaseModel(Model):
class Meta:
database = db_204 # соединение с базой, из шаблона выше
class Firms(BaseModel):
firm_id = AutoField(column_name='id')
name = TextField(column_name='name', null=True)
class Meta:
table_name = 'firms'
query = Firms.select().where(Firms.firm_id < 10).limit(5).order_by(Firms.firm_id.desc())
firms_selected = query.dicts().execute()
Сам запрос получается корректным, я проверял на phpmyadmin, он выдает то что надо. Но вот в Python выдает ошибку
Traceback (most recent call last):
File "peewee_my.py", line 33, in firms_selected = query.dicts().execute()
File "/Users/maciborka/Library/Python/3.8/lib/python/site-packages/peewee.py", line 1898, in inner
return method(self, database, *args, **kwargs)
File "/Users/maciborka/Library/Python/3.8/lib/python/site-packages/peewee.py", line 1969, in execute
return self._execute(database)
File "/Users/maciborka/Library/Python/3.8/lib/python/site-packages/peewee.py", line 2141, in _execute
cursor = database.execute(self)
File "/Users/maciborka/Library/Python/3.8/lib/python/site-packages/peewee.py", line 3142, in execute
return self.execute_sql(sql, params, commit=commit)
File "/Users/maciborka/Library/Python/3.8/lib/python/site-packages/peewee.py", line 3127, in execute_sql
cursor = self.cursor(commit)
File "/Users/maciborka/Library/Python/3.8/lib/python/site-packages/peewee.py", line 3111, in cursor
self.connect()
File "/Users/maciborka/Library/Python/3.8/lib/python/site-packages/peewee.py", line 3065, in connect
self._state.set_connection(self._connect())
File "/Users/maciborka/Library/Python/3.8/lib/python/site-packages/peewee.py", line 3964, in _connect
raise ImproperlyConfigured('MySQL driver not installed!')
peewee.ImproperlyConfigured: MySQL driver not installed!
0
Нашел причину. Надо было поставить pip install mysqlclient
Сложно с этими библиотеками, только с опытом будет понятно что и как.
Можете подсказать, как все библиотеки четко в конфиге держать, что бы потом на любом сервере быстро развернуть?
Спасибо.
Сложно с этими библиотеками, только с опытом будет понятно что и как.
Можете подсказать, как все библиотеки четко в конфиге держать, что бы потом на любом сервере быстро развернуть?
Спасибо.
0
Спасибо, за ответ.
Я не про это…
Я нашел что я хотел. Это файл с описанием всех пакетов которые вносятся в проект. Потом на любом сервер одной командой все зависимости ставятся.
Я не про это…
Я нашел что я хотел. Это файл с описанием всех пакетов которые вносятся в проект. Потом на любом сервер одной командой все зависимости ставятся.
pip install -r requirements.txt
0
Это именно про это.
Потому как если у Вас в одном окружении все проекты, то данная команда будет тащить ВСЕ установленные модули. А если Вы для каждого проекта создадите свое виртуальное окружение, то модули будут изолированы и можно будет сохранять/переносить только актуальные для данного проекта модули.
Потому как если у Вас в одном окружении все проекты, то данная команда будет тащить ВСЕ установленные модули. А если Вы для каждого проекта создадите свое виртуальное окружение, то модули будут изолированы и можно будет сохранять/переносить только актуальные для данного проекта модули.
0
Если использовать стандартный класс:
то у меня возникала точно такая же ошибка. Но можно не устанавливать никаких дополнительных библиотек, а использовать расширенный класс из стандартного пакета peewee:
Данный класс нормально подключается и работает без установки чего-либо дополнительного.
from peewee import MySQLDatabase
то у меня возникала точно такая же ошибка. Но можно не устанавливать никаких дополнительных библиотек, а использовать расширенный класс из стандартного пакета peewee:
from playhouse.mysql_ext import MySQLConnectorDatabase
Данный класс нормально подключается и работает без установки чего-либо дополнительного.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Python: Работа с базой данных, часть 2/2: Используем ORM