如何在python flask中处理CSV并将CSV数据作为输入发送到shell脚本?
我使用此代码使用python flask解析csv如何在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
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以应用标记代码格式)。