如何将Teradata SQL查询的输出链接到Excel工作表?

我是teradata的新手。 我在teradata上运行一个sql代码,它给了我一个表作为输出。 我希望这个表可以在我运行这个代码的时候直接填充到Excel工作表中。 我该怎么做? 谢谢。

最简单的方法是通过ODBC从Excel运行查询。 因此,您在Excel中设置外部数据源。 每当你刷新数据,查询我们执行对Teradata。

在Excel 2010中,如果您有OLEDB设置,则位于“ Data ,“ From Other Sources ,“ From Microsoft Query或“ Data Connection Wizard

使用从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 Assistant的“文件”菜单下select“导出结果”。

如果导出不正确,请select“工具” – >“选项” – >“导出/导入”,然后将分隔符更改为逗号。

不幸的是,在SQL Assistant中,没有办法自动保存为xls或xlsx。