1

我想将 SQL 中的表输出为 csv,但我想在最后一列周围添加引号。

我在 SQL 中的表名称是 dbo.temp_table:

在此处输入图像描述

我想要的输出是一个 csv 文件,当在记事本中打开时,最后一列有双引号:

在此处输入图像描述

当我使用下面的 python 代码时:

import pandas as pd
import numpy as np
import pyodbc
import pandas as pd 
import xlsxwriter
import csv


sql_conn = pyodbc.connect('DRIVER={DRIVER NAME}; SERVER=DATABASE_NAME; DATABASE=MY_DATABASE; Trusted_Connection=yes') 

query = "select * from dbo.temp_table"     
                                       
df = pd.read_sql(query, sql_conn)


file_out = 'C:\\Desktop\\TestFolder\\TestFile.csv'

df.to_csv(file_out, index = False, header=True)

我得到这个输出(当在记事本中打开 csv 时):

在此处输入图像描述

我还尝试在 python 代码的实际查询中添加引号:

import pandas as pd
import numpy as np
import pyodbc
import pandas as pd 
import xlsxwriter
import csv


sql_conn = pyodbc.connect('DRIVER={DRIVER NAME}; SERVER=DATABASE_NAME; DATABASE=MY_DATABASE; Trusted_Connection=yes') 

query = """select [name]
        ,'"' + [code] + '"' AS [code]
        from dbo.temp_table    """  
                                       
df = pd.read_sql(query, sql_conn)


file_out = 'C:\\Desktop\\TestFolder\\TestFile.csv'

df.to_csv(file_out, index = False, header=True)

但我得到的输出在最后一列中有 3 个双引号:

在此处输入图像描述

我认为一个解决方案可能是在 python 代码中实际添加引号,但我在网上查看的问题似乎都没有回答我的问题。我真的很感激一些帮助。

4

0 回答 0