У меня есть сценарий Python, который преобразует таблицу Oracle в CSV:
import sys
import csv
import cx_Oracle
import time
from datetime import timedelta
start_time = time.monotonic()
table_name = sys.argv[1]
csv_file_name = table_name + ".csv"
sql_query = "SELECT * FROM " + table_name
con = cx_Oracle.connect('abc/password@ec2-1-111-11-111.compute-1.amazonaws.com/orcl')
cursor = con.cursor()
csv_file = open(csv_file_name, "w")
writer = csv.writer(csv_file, delimiter=',', lineterminator="\n", quoting=csv.QUOTE_NONE)
r = cursor.execute(sql_query)
for row in cursor:
writer.writerow(row)
cursor.close()
con.close()
csv_file.close()
end_time = time.monotonic()
print(timedelta(seconds=end_time - start_time))
Когда я запускаю:
python3 export-csv.py AUTHOR
Это выдает мне эту ошибку:
Traceback (most recent call last):
File "export-csv.py", line 16, in <module>
writer.writerow(row)
_csv.Error: need to escape, but no escapechar set
Как решить эту проблему? Кроме того, как я могу получить имена столбцов таблицы Oracle, включенной в файл CSV?