簡體   English   中英

Python Output 雪花連接器到 CSV

[英]Python Output Snowflake Connector To CSV

我目前正在嘗試打印雪花連接器查詢的 output 並將其寫入 csv,但我在執行此操作時遇到問題。 目前,我的代碼示例如下所示:

query = '''SELECT TOP 10 * FROM TABLE;'''

conn = snowflake.connector.connect(user='XXXX',
                                   password='XXXX',
                                   account='XXXX')

query_output = conn.cursor().execute(query)

有沒有辦法讓我打印查詢的 output ,例如print(query_output)然后也將其寫入 csv ,例如query_output.to_csv(path)

我強烈推薦使用Pandas的 DataFrames API。 在其他幾種數據轉換和分析功能中,它具有出色的 CSV 讀寫器實現, 非常靈活

Snowflake 的 Python 連接器本身也支持將結果轉換為 Pandas DataFrame 對象。

下面提供了一個非常簡單的改編示例(添加了 1 行):

query = '''SELECT TOP 10 * FROM TABLE;'''

conn = snowflake.connector.connect(user='XXXX',
                                   password='XXXX',
                                   account='XXXX')

query_output = conn.cursor().execute(query)

## You may have to run: pip3 install --user pandas ##

query_output.fetch_pandas_all().to_csv("/path/to/write/table.csv")

默認的 CSV 格式使用,作為分隔符,操作系統特定的換行符( \n除了在 Windows 上,它使用\r\n )和最少的引用(自動引用VARCHAR列,其中包含分隔符)。

You can do like below :
---------------------------------------------------------------

import csv
.....
.....
.....
rows=cur.fetchall()
column_names = [i[0] for i in cur.description]
fp = open('samplefile.csv', 'w')
myFile = csv.writer(fp, lineterminator = '\n')
myFile.writerow(column_names)
myFile.writerows(rows)
fp.close()
.....
.....

您可以使用它來打印結果。 要將其保存在 csv 中,只需使用 for 循環將結果保存在 dataframe 中,然后使用 df.to_csv

    cursor.execute(query)
    sql_result = cursor.fetchall()
    print(sql_result)     ## just print the results or use the for loop below to print the results row by row 
    for row in sql_result:
        print(row)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM