我得到这个错误:在db上调用File时,应该是str、bytes或os.PathLike对象,而不是File

2024-05-17 23:24:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我制作了sqlalchemy数据库并上传了cs文件。 但是当我试图调用数据库中的fie时,它总是显示这个错误

错误:应为str、bytes或os.PathLike对象,而不是文件

是否有将文件查询更改为文件路径的选项? 如果我将open(我的_数据,换行符=“”)更改为f: 到 用open(“augut.csv”,newline='')作为f:它的工作。但我想调用已经存储在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)

'''


Tags: 文件csvid数据库datamy错误newline
1条回答
网友
1楼 · 发布于 2024-05-17 23:24:54

File.query.get(id)的调用返回一个File实例。您需要从my_data获取文件名,并将其与open一起使用

假设您有类似于:

class File(Base):
    __tablename__ = 'some_table'
    id = Column(Integer, primary_key=True)
    name =  Column(String(50))

my_data.name的调用将返回文件名

相关问题 更多 >