gpt4 book ai didi

python - 解析引号和转义字符 CSV 文件

转载 作者:太空宇宙 更新时间:2023-11-03 21:48:10 25 4
gpt4 key购买 nike

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

\ 作为转义字符串

"(双引号)引用字符

;(分号)分隔列。

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

我设法用下面的Python脚本避免了\n,但我在双引号上遇到了困难,你能提出任何想法来替换引号字符内的双引号吗?

像=“来自“厄瓜多尔”的香蕉”这样的文本字段给我带来了很大的困惑,因为 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))

最佳答案

考虑使用BCP with a Format File.

然后您可以指定,例如,最后一列以双引号后跟 CRLF 终止。其他列以双引号和分号结束。

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

关于python - 解析引号和转义字符 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52319008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com