Python 脚本';test.py';:标题错误:会计周编号,参考号:http://localhost/test.html

Python 脚本';test.py';:标题错误:会计周编号,参考号:http://localhost/test.html,python,apache,cgi,Python,Apache,Cgi,我正在尝试运行Pyton cgi。在apachewamp服务器上。代码的HTML端工作得很好,但当它转向python脚本时。我得到以下错误: 脚本“test.py”的标题格式不正确:错误的标题: 会计周编号,参考号: 我试着在IDE上单独测试我的python代码,效果很好。我找不到这附近的问题。下面是我的代码: #!C:/Program Files (x86)/Python36-32/python.exe import cgi import os import cgitb; import pa

我正在尝试运行Pyton cgi。在apachewamp服务器上。代码的HTML端工作得很好,但当它转向python脚本时。我得到以下错误:

脚本“test.py”的标题格式不正确:错误的标题:
会计周编号,参考号:

我试着在IDE上单独测试我的python代码,效果很好。我找不到这附近的问题。下面是我的代码:

#!C:/Program Files (x86)/Python36-32/python.exe

import cgi
import os
import cgitb;
import pandas as pd
import teradata
import numpy as np

os.environ["USERNAME"] = "hjoshi"
form = cgi.FieldStorage()

# Get filename here.
fileitem = form['filename']

# Test if the file was uploaded
if fileitem.file:
    fn = os.path.basename(fileitem.filename)
    query = "insert into p_piw_stg.sales_goals_test_harsh (?, ?, ?, ?)" #insert query for database
    input = pd.read_excel('C:/Users/hjoshi/Downloads/' + fn)
    test = pd.DataFrame(input, columns = ["FISCAL_WEEK_NUMBER", 'STORE_NUMBER', 'DEPARTMENT', 'SALES_GOAL_AMOUNT']) #creating a dataframe
    #print(test)
    num_of_chunks = len(test)
    host,username,password = 'someIP','elt_usr', 'elt_usr'
    udaExec = teradata.UdaExec(appName="test", version="1.0", logConsole=False)
    with udaExec.connect (method="odbc",system=host, username=username, password=password, driver="Teradata") as con:
        chunks = np.array_split(test, num_of_chunks)
        for i,row in enumerate(chunks):
            print(row)
            data = [tuple(x) for x in chunks[i].to_records(index=False)]
            con.executemany(query, data, batch=True)

    message = 'The file "' + fn + '" was uploaded successfully'

else:
    message = 'No file was uploaded'

print ("""
Content-Type: text/html\n\r\n
<html>
<body>
   <p>%s</p>
</body>
</html>
""" % (message,))
#!C:/ProgramFiles(x86)/Python36-32/python.exe
导入cgi
导入操作系统
进口cgib;
作为pd进口熊猫
导入teradata
将numpy作为np导入
os.environ[“用户名”]=“hjoshi”
form=cgi.FieldStorage()
#在这里获取文件名。
fileitem=form['filename']
#测试文件是否已上载
如果是fileitem.file:
fn=os.path.basename(fileitem.filename)
query=“插入p_piw_stg.sales_goals_test_harsh(?,?,?)”#插入数据库查询
input=pd.read_excel('C:/Users/hjoshi/Downloads/'+fn)
test=pd.DataFrame(输入,列=[“财政周号”,“商店号”,“部门”,“销售目标金额]))#创建一个数据框
#打印(测试)
块的数量=len(测试)
主机,用户名,密码='someIP','elt_usr','elt_usr'
udaExec=teradata.udaExec(appName=“test”,version=“1.0”,logConsole=False)
将udaExec.connect(method=“odbc”,system=host,username=username,password=password,driver=“Teradata”)作为con:
chunks=np.array\u split(test,num\u of\u chunks)
对于i,枚举中的行(块):
打印(行)
数据=[块中x的元组(x)][i]。to_记录(索引=False)]
con.executemany(查询、数据、批处理=True)
消息='文件'+fn+'已成功上载'
其他:
消息='未上载任何文件'
打印(“”)
内容类型:text/html\n\r\n
%

“%”(消息,)
我找到了解决上述问题的方法,就是使用代码

print("Content-Type: text/html\n\r\n")
在写入导入后的右上角。代码无法识别应该首先出现的html头