Мне нужно импортировать большие наборы данных в SQL, выходной файл (текст) - это UTC-8, сгенерированный из программы ABAP, где я могу определить кавычки и escape-символы, по умолчанию я использую:
\
как escape-строка
"
(двойная кавычка) для цитирования символов
;
(точка с запятой) для разделения столбцов.
Моя проблема заключается в том, что большинство столбцов, тип которых является текстовым, содержит двойные кавычки или escape-символы, и при попытке импортировать их в базу данных SQL интерфейс завершается ошибкой из-за неправильного размещения данных в столбцах.
Мне удается избежать \ n с помощью приведенного ниже сценария Python, но я борюсь с двойными кавычками. Можете ли вы предложить какую-либо идею заменить двойные кавычки внутри символов кавычек?
Текстовые поля, такие как = банан из "Эквадора", это вызывает у меня большой беспорядок, поскольку данные в файле CSV хранятся как "банан из" Эквадора ""
import csv
filename = "0180914_074626.csv"
with open(filename, 'r', encoding='utf8', errors='ignore') as inputfile, \
open(filename + '.log.csv', 'w', encoding="utf8") as outputfile_log:
w = csv.writer(outputfile_log, delimiter=';', quotechar='"', lineterminator='\n')
for record in csv.reader(inputfile):
#print(record)
w.writerow(tuple(s.replace("\n", '-') for s in record))