分析引号和转义字符CSV-fi

2024-03-28 20:37:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要将大量数据导入SQL,输出文件(文本)是由ABAP程序生成的UTC-8,我可以在其中定义引号和转义字符,默认情况下我使用:

\作为转义字符串

"(双引号)引用字符

;(分号)分隔列。你知道吗

我的问题在于,大多数类型为text的列都包含双引号或转义字符,当尝试将其导入SQL数据库时,由于列的数据分配错误,接口失败。你知道吗

我设法避免使用下面的python scrip \n,但是我正在努力使用双引号,您能建议用什么方法来替换引号字符中的双引号吗?你知道吗

像“=banana from”Ecuador“这样的文本字段给我带来了很大的麻烦,因为CSV文件中的数据存储为“banana from”Ecuador

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))

Tags: 文件csv数据from文本logsqlfilename
1条回答
网友
1楼 · 发布于 2024-03-28 20:37:10

研究使用BCP with a Format File.

然后可以指定,例如,最后一列以双引号结尾,后跟CRLF。其他列以双引号和分号结尾。你知道吗

对于每一列,与构成该列终止符的字符组合不匹配的任何字符都将被忽略。你知道吗

相关问题 更多 >