如何将teradata sql查询的输出链接到excel工作表?
我是teradata的新手。我在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连接是一次性使用的最快方法 如果您计
谢谢。最简单的方法是通过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