首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据从SQLALCHEMY输出到file.txt

将数据从SQLALCHEMY输出到file.txt
EN

Stack Overflow用户
提问于 2015-08-08 06:35:13
回答 1查看 906关注 0票数 0

我正在尝试打印如下所示的数据,并将其导出为文本文件。我有与这些实例化对象相对应的表。

代码语言:javascript
复制
#ASSESSMENT 
    api = BaseAPI()

    assessment1 = api.create_assessment('Situation Awareness', 'Developing better skills',u2, v3, category=[l,dm,tc,sa], element=[sa1,sa2,sa3,dm1,dm2,dm3,ct1,ct2,ct3,l1,l2,l3])

    assessment2 = api.create_assessment('Decision-Making', 'better decisions', u1, v2, category=[l,dm,tc,sa], element=[sa1,sa2,sa3,dm1,dm2,dm3,ct1,ct2,ct3,l1,l2,l3])

    assessment3 = api.create_assessment('Leadership', 'defining new leaders',u3, v1, category=[l,dm,tc,sa], element=[sa1,sa2,sa3,dm1,dm2,dm3,ct1,ct2,ct3,l1,l2,l3])

我使用的查询方法是:

代码语言:javascript
复制
    import sys

    class Logger(object):
    def __init__(self, filename="Default.log"):
        self.terminal = sys.stdout
        self.log = open(filename, "a")

    def write(self, message):
        self.terminal.write(message)
        self.log.write(message)

sys.stdout = Logger('DataOutput.txt')

def analystview(object):
    for a in self.session.query(Assessment).\
    filter(Assessment.user_id==Assessment.user_id).\
    filter(Assessment.name == Assessment.name).all():
        for a in assessments:
            print(a.name, a.text, a.user_id)

api = BaseAPI()
analystview(api)

我在上面的代码中做错了什么,它没有打印查询的输出??

EN

回答 1

Stack Overflow用户

发布于 2015-08-11 00:41:53

此格式有效!然而,有没有更好的方法来处理输出呢?我的意思是,一种将查询输出到文本文件的更干净的方法?

代码语言:javascript
复制
#!/usr/bin/env python


import sys
import sqlite3

db = sqlite3.connect('some.db') # used sqlite3 to go through results/data
cur = db.cursor()
query = ("SELECT * FROM users")
lines = cur.execute(query)
data = cur.fetchall()


class Logger(object):
    def __init__(self, filename="Default.log"):
        self.terminal = sys.stdout
        self.log = open(filename, "a")

    def write(self, message):
        self.terminal.write(message)
        self.log.write(message)

sys.stdout = Logger('DataOutput.txt') #name of the text file
print(data) #has to be after the sys.stdout to print out results
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31887589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档