如何将teradata sql查询的输出链接到excel工作表?

如何将teradata sql查询的输出链接到excel工作表?,sql,excel,teradata,Sql,Excel,Teradata,我是teradata的新手。我在teradata上运行了一个sql代码,它给了我一个表作为输出。每当运行此代码时,我希望直接在excel工作表中填充此表。我怎么做? 谢谢。最简单的方法是通过ODBC从Excel运行查询。因此,可以在Excel中设置外部数据源。无论何时刷新数据,都会对Teradata执行查询 在Excel 2010中,如果您有OLEDB设置,它位于数据,来自其他来源,来自Microsoft Query或数据连接向导。使用Excel本身的ODBC连接是一次性使用的最快方法 如果您计

我是teradata的新手。我在teradata上运行了一个sql代码,它给了我一个表作为输出。每当运行此代码时,我希望直接在excel工作表中填充此表。我怎么做?
谢谢。

最简单的方法是通过ODBC从Excel运行查询。因此,可以在Excel中设置外部数据源。无论何时刷新数据,都会对Teradata执行查询


在Excel 2010中,如果您有OLEDB设置,它位于
数据
来自其他来源
来自Microsoft Query
数据连接向导

使用Excel本身的ODBC连接是一次性使用的最快方法

如果您计划多次运行可以从另一种语言运行的东西,那么它会增加一个步骤,但如果您愿意安排定期运行的任务,那么它是非常值得的。 下面是一些python代码:

import pyodbc as pc

conn = pc.connect('DRIVER={Teradata};DBCNAME=dbname;UID=username;PWD=password;QUIETMODE=YES;')
curs = conn.cursor()

rows = curs.execute("""
    select *
    from table
    ;""").fetchall()

f = open('myfile1.csv', 'w')
for row in rows:
    s = [str(x) for x in row]
    f.write(','.join(s) + '\n')
    print ','.join(s) + '\n'
f.close()
用于打开.csv文件的默认程序是excel

如果需要将其显式转换为excel文件,可以使用xlwt模块或让python执行vba代码导入现有文件:

import win32com.client
import xl

excel = win32com.client.Dispatch("Excel.Application")
f = xl.Workbook("C:\...\Target.xlsm")
excel.Run("%s!testmacro"%f)

即时报道

Teradata SQL Assistant能够自动将结果导出到csv,而Excel通常是打开csv的默认程序

您需要从SQL助手的“文件”菜单下选择“导出结果”

如果无法正确导出,请选择工具->选项->导出/导入,并将分隔符更改为逗号

不幸的是,在SQL Assistant中无法自动保存为xls或xlsx