Python 基于Oracle查询将标题行写入Excel

Python 基于Oracle查询将标题行写入Excel,python,excel,oracle,python-2.7,cx-oracle,Python,Excel,Oracle,Python 2.7,Cx Oracle,我正试图找到一种有效的方法,将头行从Oracle表写入xls文件,而不是每次都这样做,因为我的一些结果有50-70列 headings1 = ['Column 1', 'Column 2', etc] rowx = 0 for colx, value in enumerate(headings1): sheet1.write(rowx,colx,value) 我当前的代码将只写入从第2行开始的数据行,因为我一直在手动创建一个Excel文件模板,其中预定义了所有图纸名称和标题行,但创

我正试图找到一种有效的方法,将头行从Oracle表写入xls文件,而不是每次都这样做,因为我的一些结果有50-70列

headings1 = ['Column 1', 'Column 2', etc]  
rowx = 0
for colx, value in enumerate(headings1):
    sheet1.write(rowx,colx,value)
我当前的代码将只写入从第2行开始的数据行,因为我一直在手动创建一个Excel文件模板,其中预定义了所有图纸名称和标题行,但创建模板需要大量的工作,我希望去掉该部分,并让它自动将第1行写入我的标题

Import CX_Oracle
Import xlwt
Import xlutils.copy
Import xlrd    

SQL = "SELECT Column1, Column2, etc from TABLE" 
cursor = con.cursor()
cursor.execute(SQL)
wb_read = xlrd.open_workbook('Template.xls',formatting_info=True)
wb_read.Visible = 1
wb_write = copy(wb_read)
sheet0 = wb_write.get_sheet(0)

for i, row in enumerate(cursor):
    for j, col in enumerate(row):
        sheet1.write(i+1,j,col)  #Starts pasting the data at row 2
book.save('Output.xls')
当前文件包括5-7个我必须在同一工作簿中写入数据的工作表,以及使用的5-7个游标,这是第一个游标的示例

PEP 249允许一个

这将返回一个元组列表,其中每个元组的第一个元素是列名:

db=cx\u Oracle.connect('schema/pw@db/db') >>>curs=db.cursor() >>>sql=“从双通道选择*” >>>curs.execute(sql) >>>列名称=curs.description >>>列名 [('DUMMY',1,1,0,0,1)] >>> 为了演示(非常)稍微复杂的情况,我创建了以下表格:

SQL>创建表tmp_测试(col1编号,col2 varchar2(10));
表已创建。
然后,由您决定如何使用它:

sql=“从tmp\U测试中选择* >>>curs.execute(sql) >>>描述 [('COL1',127,22,0,-127,1),('COL2',10,1 0, 0, 0, 1)] >>>“,”.join(c[0]表示游标说明中的c) “COL1,COL2” >>>
在开始枚举光标值之前,只需写这一行。

我需要做完全相同的事情。已通过以下代码实现:

# Write header row
for c, col in enumerate(cursor.description):
    ws.write(0, c, col[0])

然后,我使用您已经在使用的simular for循环编写数据记录。

感谢Ben的输入。我一直在按照您的建议研究PEP249,但我仍然无法找到正确的代码,将curs.description放入csv文件第一行的每一列中。你知道怎么写吗?