Как бы вы создали строку с разделителями-запятыми из строки результатов pyobbc?

У меня есть набор результатов, хранящихся в 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 мс в строке, что кажется смехотворной дорогостоящей операцией. Как я могу ускорить это?

One Solution collect form web for “Как бы вы создали строку с разделителями-запятыми из строки результатов pyobbc?”

Я бы использовал модуль 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 было бы, по крайней мере, csv.QUOTE_MINIMAL .

  • Лучший способ доступа к методу суперкласса при множественном наследовании
  • Почему я не могу солить этот объект?
  • Есть ли простой способ преобразования строки, содержащей строковый литерал, в строку, которую он представляет?
  • eval SyntaxError: недопустимый синтаксис в python
  • Python Setuptools, настройка easy_install mac
  • Отключение секунд в python datetime
  • ValueError: отрицательное число не может быть увеличено до дробной мощности
  • Изменение переменной внутри метода с помощью другого метода внутри него
  • Python - лучший язык программирования в мире.