如何在python flask中处理CSV并将CSV数据作为输入发送到shell脚本?

如何在python flask中处理CSV并将CSV数据作为输入发送到shell脚本?,python,shell,csv,flask,flask-admin,Python,Shell,Csv,Flask,Flask Admin,我使用此代码使用python flask解析csv from flask import Flask, make_response, request, render_template import csv app = Flask(__name__) def transform(text_file_contents): #return text_file_contents.replace("=", ",") return text_file_contents @app.rout

我使用此代码使用python flask解析csv

from flask import Flask, make_response, request, render_template
import csv

app = Flask(__name__)

def transform(text_file_contents):
    #return text_file_contents.replace("=", ",")
    return text_file_contents

@app.route('/') 
def form():
    return """ Transform a file demo
      <form action="/transform" method="post" enctype="multipart/form-data">
        <input type="file" name="data_file" />
        <input type="submit" />
      <form>"""

@app.route('/transform', methods=["POST"])
def transform_view():
    file = request.files['data_file']
    if not file:
        return "No file"

    file_contents = file.stream.read().decode("utf-8")
    csv_input = csv.reader(file_contents) 
    result = transform(file_contents)
    print result
    return result
    return render_template('commission.sh', result=result)

if __name__ == "__main__":
    import webbrowser
    webbrowser.open('localhost:5000')
    app.run()
从烧瓶导入烧瓶,做出响应、请求、呈现模板
导入csv
app=烧瓶(名称)
def转换(文本文件内容):
#返回文本文件内容。替换(“=”,“,”)
返回文本文件内容
@应用程序路径(“/”)
def form():
返回“”转换文件演示
"""
@app.route('/transform',methods=[“POST”])
def transform_view():
file=request.files['data\u file']
如果不是文件:
返回“无文件”
file_contents=file.stream.read().decode(“utf-8”)
csv\u input=csv.reader(文件内容)
结果=转换(文件内容)
打印结果
返回结果
返回渲染模板('commission.sh',result=result)
如果名称=“\uuuuu main\uuuuuuuu”:
导入网络浏览器
webbrowser.open('localhost:5000')
app.run()

上面是解析csv并显示输出。但是我需要将输出作为输入发送到shell脚本,以便在shell脚本本身中继续进行。。首先,我对
佣金.sh的内容很好奇。您需要将模板文件名作为
render\u template
的第一个参数传递。Jinja无法为您执行shell脚本

正如第一个答案所指出的,第一个
return
语句之后的内容将不会执行。无论您使用什么编程语言

您可以按照此操作在python(flask)中执行shell脚本。然后在view函数中返回结果

如果解析csv是一项耗时的任务,我建议您尝试使用flask进行
芹菜

我非常犹豫地批准了此处的代码格式编辑,因为至少它不会让问题变得更糟。如果表面上更正的代码与实际代码不同,请检查并跟进。以后,请注意使用正确的缩进设置Python代码的格式(提示:复制/粘贴代码,选择粘贴的块,键入ctrl-K以应用标记代码格式)。