我正在尝试用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,但这两种方法都会导致“需要转义字符和缺少转义字符”错误。你知道吗
使用
相关问题 更多 >
编程相关推荐