Python到\u csv,是否可以使用.replace()抢先处理双引号转义问题

2024-06-02 07:04:59 发布

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

我正在尝试用python编写一个进程,将数据写入一个.csv文件,然后将其BCP到一个MSSQL数据库中。你知道吗

我现在使用的基本命令是:

df.to_csv(csv_path, sep = "«", header = False, index = False, line_terminator="[~~]")

我看到的一个问题是程序如何处理文本中的双引号。如果找到了一组双引号,则引号将对其进行转义。你知道吗

所以一行看起来像:

    1, 7, Executed Job: "abcdf" Complete

当加载到数据中时变为:

    1, 7, "Executed Job: ""abcdf"" Complete"

这是令人沮丧的,因为这意味着如果我想使用BCP后的数据,我需要在SQL端进一步处理它。由于我的ETL运行在数百个表上,实现它将是一个非常头痛的问题。你知道吗

我想知道在通过pandas运行to_csv命令之前,是否有一种方法可以处理数据中的引号数据帧.replace()功能。有没有一个feed-replace选项可以将数据帧中的引号转换成双引号而不引起转义问题?你知道吗

例如:

df.replace('"','\"')
df.to_csv(csv_path, sep = "«", header = False, index = False, line_terminator="[~~]")

编辑:作为参考,我尝试使用doublequote=False并将csv quoting设置为QUOTE NONE,但这两种方法都会导致“需要转义字符和缺少转义字符”错误。你知道吗


Tags: csvto数据path命令falsedfindex