来自脚本“test.py”的格式错误的标头:错误标头:FISCAL_WEEK_NUMBER .,引用:http://localhost/test.html

Har*_*shi 3 python apache cgi

我正在尝试运行 pyhton cgi。在 apache wamp 服务器上。代码的 HTML 端工作正常,但是当它转向 python 脚本时。我收到以下错误:

来自脚本“test.py”的格式错误的标头:错误标头:
FISCAL_WEEK_NUMBER .,引用:http://localhost/test.html

我尝试在 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,))
Run Code Online (Sandbox Code Playgroud)

Har*_*shi 5

我通过代码找到了上述问题的解决方案

print("Content-Type: text/html\n\r\n")
Run Code Online (Sandbox Code Playgroud)

在写入导入后的右上角。代码无法识别应该排在第一位的 html 标头。