python - 如何从 pyodbc 结果行创建逗号分隔的字符串?

标签 python

我有一个存储在 cursor.rows 中的行结果集,这些行是从 pyodbc.cursor.execute 命令返回的。解压缩此数据并将其放入逗号分隔字符串列表(或解压缩到自定义对象中)的最快方法是什么?

目前我正在做以下事情:

cursor.execute(query_str)
f = open(out_file, 'w')
for row in cursor:
    f.write(','.join([str(s) for s in row]))
    f.write('\n')

每行需要 130 毫秒,这似乎是一个非常昂贵的操作。我怎样才能加快速度?

最佳答案

我会使用 csv 模块:

import csv

cursor.execute(query_str)
with open(out_file, 'w') as f:
    csv.writer(f, quoting=csv.QUOTE_NONE).writerows(cursor)

请注意,如果您csv.QUOTE_NONE 如果数据字段中有逗号,则会引发csv.Error。理智的方法是至少 csv.QUOTE_MINIMAL

关于python - 如何从 pyodbc 结果行创建逗号分隔的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6513588/

相关文章:

python - Django 测试套件声称 PIL 未安装,即使已安装

python - 每次 Spark 窗口函数

python - 在 tensorflow 中对不平衡数据集进行二次采样

python - 如何将Dense层参数的数据类型设置为float16?

python - 如何将多个值的单行拆分为多个单独的行

python - 显示双误差线的 matplotlib 图例

python - 如何使用python icrawler爬取多个关键词

python - 将日期范围与 Python 日期列表中的索引进行匹配的快速方法

python - 在 Python 中生成具有指定边际的 copula 相关样本

python - 中断后重新启动 for 循环