【发布时间】:2023-01-10 03:58:41
【问题描述】:
我正在尝试实现一个 REST api 以 CSV 格式从 SQL 数据库返回记录。我想使用 import csv 进行转换,我想使用发电机这样我就可以流式传输结果。
这是我试过的。
def get_data(query) -> Generator[str, None, None]:
with pyodbc.connect(connStr) as conn:
with conn.cursor() as cursor:
cursor.execute(query)
while 1:
row = cursor.fetchone()
if not row: break
data = io.StringIO()
csv.writer(data).writerow(row)
yield data.getvalue()
这行得通,但我不喜欢它。它看起来太冗长了,它创建了很多临时的 StringIO 和 writer 对象!请告诉我一个更好的方法。
【问题讨论】:
标签: python-3.x csv