#python #sqlalchemy
#python #sqlalchemy
Вопрос:
я создал sqlalchemy db и загрузил cs-файл. но когда я пытаюсь вызвать fie, который внутри db всегда показывает эту ошибку
Ошибка: ожидаемый str, байты или os.Объект типа PathLike, а не File
есть ли какая-либо возможность изменить запрос файла на путь к файлу? если я изменю open(my_data, новая строка =») как f: на open(«augut.csv», новая строка =») как f: его работа. но я хочу вызвать file, который уже хранится в db.
»’
@app.route("/proses/<id>/", methods=["GET"])
def proses(id):
my_data = File.query.get(id)
with open(my_data, newline='') as f:
reader = csv.reader(f)
data = list(reader)
transactions = data
patterns = pyfpgrowth.find_frequent_patterns(transactions, len(transactions) * 20/100)
rules = pyfpgrowth.generate_association_rules(patterns, 0.5)
return str(rules)
»’
Ответ №1:
Вызов для File.query.get(id)
возврата File
экземпляра. Вам нужно получить имя файла из my_data
и использовать его с open
Предполагая, что у вас есть что-то вроде:
class File(Base):
__tablename__ = 'some_table'
id = Column(Integer, primary_key=True)
name = Column(String(50))
вызов to my_data.name
вернет имя файла
Комментарии:
1. 1) поделитесь своим классом файла 2) продолжайте использовать
File.query.get(id)
, который вернет экземпляр File .2. вместо этого я добавляю эту ошибку FileNotFoundError: [Ошибка № 2] Нет такого файла или каталога: ‘april.csv’
3. это означает, что вам нужно сохранить файл в БД, используя полный путь: Пример:
/files/april.csv
. В любом случае — эта проблема не связана с вашим первоначальным вопросом.4. да, при перемещении файла csv в ту же папку, что и папка python, ошибки нет
5. можете ли вы привести мне пример сохранения файла в db с использованием полного пути?