小编Har*_*son的帖子

使用threaded = True同时处理Flask请求

究竟是通过threaded = Trueapp.run()吗?

我的应用程序处理来自用户的输入,并花费一些时间来完成.在此期间,应用程序无法处理其他请求.我已经测试了我的应用程序,threaded=True它允许我同时处理多个请求.

python flask

51
推荐指数
2
解决办法
4万
查看次数

使用Flask Application处理请求线程错误?

这可能是一个很长的镜头,但这是我得到的错误:

  File "/home/MY NAME/anaconda/lib/python2.7/SocketServer.py", line 596, in process_request_thread
    self.finish_request(request, client_address)
  File "/home/MY NAME/anaconda/lib/python2.7/SocketServer.py", line 331, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/home/MY NAME/anaconda/lib/python2.7/SocketServer.py", line 654, in __init__
    self.finish()
  File "/home/MY NAME/anaconda/lib/python2.7/SocketServer.py", line 713, in finish
    self.wfile.close()
  File "/home/MY NAME/anaconda/lib/python2.7/socket.py", line 283, in close
    self.flush()
  File "/home/MY NAME/anaconda/lib/python2.7/socket.py", line 307, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
Run Code Online (Sandbox Code Playgroud)

我已经构建了一个Flask应用程序,它将地址作为输入并执行一些字符串格式化,操作等,然后将它们发送Bing Maps到地理编码(通过geopy外部模块).

我正在使用此应用程序来清理非常大的数据集.该应用程序适用于通常约1,500个地址的输入(每行输入1个).我的意思是它将处理地址并将其发送Bing Maps到地理编码然后返回.在大约1,500个地址之后,应用程序变得没有响应.如果这是在我工作时发生的,我的代理人告诉我有一个tcp error.如果我在非工作计算机上,它只是不加载页面.如果我重新启动应用程序,那么它的功能非常好.因此,我被迫用大约1,000个地址批量运行我的程序(只是为了安全,因为我还不确定程序崩溃的确切数字).

有谁知道可能导致它的原因是什么?

我正在思考一些与我一起达到当天Bing API密钥限制(即30,000)的内容,但这并不准确,因为我每天很少使用超过15,000个请求.

我的第二个想法是,也许是因为我仍在使用标准的烧瓶服务器来运行我的应用程序.会改用gunicorn还是uWSGI解决这个问题? …

python geopy flask

11
推荐指数
1
解决办法
702
查看次数

使用Flask-SQLAlchemy连接到MSSQL数据库

我正在尝试通过Flask-SQLAlchemy连接到本地MSSQL DB.

这是我__init__.py文件的代码摘录:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mssql+pyodbc://HARRISONS-THINK/LendApp'
db = SQLAlchemy(app)

SQLALCHEMY_TRACK_MODIFICATIONS = False
Run Code Online (Sandbox Code Playgroud)

正如您在SQL Server Management Studio中看到的,此信息似乎匹配:

在此输入图像描述

这是在我的models.py文件中创建一个简单的表:

from LendApp import db

class Transaction(db.model):
    transactionID = db.Column(db.Integer, primary_key=True)
    amount = db.Column(db.Integer)
    sender = db.Column(db.String(80))
    receiver = db.Column(db.String(80))

    def __repr__(self):
        return 'Transaction ID: {}'.format(self.transactionID)
Run Code Online (Sandbox Code Playgroud)

然后,我通过执行这两行,使用Pycharm中的Python控制台连接到数据库:

>>> from LendApp import db
>>> db.create_all()
Run Code Online (Sandbox Code Playgroud)

这导致以下错误:

DBAPIError: (pyodbc.Error) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no …
Run Code Online (Sandbox Code Playgroud)

python sql-server flask-sqlalchemy

10
推荐指数
3
解决办法
2万
查看次数

如何在Openpyxl中隐藏列?

我在Excel工作表中隐藏了一堆列.我收到了这个错误:AttributeError: can't set attribute从这一行开始worksheet.column_dimensions['B'].visible = False

对不起,如果这是一个超级简单的问题.我刚刚更新到Openpyxl/Pandas的新版本,所以我现在必须通过我的代码并进行更改以适应新版本的文档.

    worksheet.column_dimensions['B'].visible = False
    worksheet.column_dimensions['D'].visible = False
    worksheet.column_dimensions['E'].visible = False
    worksheet.column_dimensions['F'].visible = False
    worksheet.column_dimensions['G'].visible = False
    worksheet.column_dimensions['H'].visible = False
    worksheet.column_dimensions['I'].visible = False
    worksheet.column_dimensions['K'].visible = False
    worksheet.column_dimensions['L'].visible = False
    worksheet.column_dimensions['M'].visible = False
    worksheet.column_dimensions['N'].visible = False
    worksheet.column_dimensions['O'].visible = False
    worksheet.column_dimensions['P'].visible = False
    worksheet.column_dimensions['Q'].visible = False
    worksheet.column_dimensions['R'].visible = False
    worksheet.column_dimensions['S'].visible = False
    worksheet.column_dimensions['T'].visible = False
    worksheet.column_dimensions['U'].visible = False
    worksheet.column_dimensions['V'].visible = False
    worksheet.column_dimensions['W'].visible = False
    worksheet.column_dimensions['X'].visible = False
    worksheet.column_dimensions['Y'].visible = False
    worksheet.column_dimensions['Z'].visible = False
    worksheet.column_dimensions['AA'].visible …
Run Code Online (Sandbox Code Playgroud)

python openpyxl

5
推荐指数
2
解决办法
5572
查看次数

将 .xls 转换为 .xlsx 以便 Openpyxl 可以使用它

我写了一个烧瓶应用程序,将用于处理一些 excel 文件,但是,我为 .xlsx 文件编写了它。输入的文件可能是 .xls 文件,我知道 Openpyxl 无法打开。在我的应用程序中使用 Openpyxl 处理文件之前,如何将文件转换为 .xlsx?

我在网上看到了一些关于使用 xlrd 将原始 .xls 写入 Openpyxl 可以处理的 .xlsx 文件的内容,但是我在调​​整它以适合我的特定应用程序时遇到了麻烦。

提前致谢!

from openpyxl import load_workbook
from openpyxl.styles import Style, Font
from flask import Flask, request, render_template, redirect, url_for, send_file
import os


app = Flask(__name__)

@app.route('/')
def index():
    return """<center><body bgcolor="#FACC2E">
          <h1><p>Automated TDX Report</h1></p><br>
    <form action="/upload" method=post enctype=multipart/form-data>
      <p><input type=file name=file>
         <input type=submit value=Upload>
    </form></center></body>"""

@app.route('/upload', methods = ['GET', 'POST'])
def upload():
    if request.method == 'POST':
        f = request.files['file']
        f.save(f.filename) …
Run Code Online (Sandbox Code Playgroud)

python xlrd openpyxl

4
推荐指数
1
解决办法
1万
查看次数

如何使用正则表达式从字符串中删除所有非字母数字字符("#"除外)?

我目前有这一行将address = re.sub('[^A-Za-z0-9]+', ' ', address).lstrip()删除我的字符串中的所有特殊字符address.如何修改此行以保持#

python regex

4
推荐指数
1
解决办法
4324
查看次数

剥离所有东西,直到达到任何数字(0-9)?

如何剥离一些数字?当然,这必须适用于任何数字,而不仅仅是1.

我想blahblahblah 1 main street 作为输入.并1 main street作为输出.

python string replace

3
推荐指数
1
解决办法
268
查看次数

在Flask应用中返回Excel文件

我正在创建一个Flask应用程序,该应用程序提示用户输入Excel文件,对其进行一些处理,然后将文件返回给用户,以便他们下载。(请忽略任何未使用的导入。我计划稍后使用它们。)

我的功能降低了,我不确定如何将文件发送回用户以便他们下载。在此先感谢您的帮助!

到目前为止,这里是:(注意:我不太确定我是否正确实现了上传功能)

from openpyxl import load_workbook
from flask import Flask, request, render_template, redirect, url_for


app = Flask(__name__)

@app.route('/')
def index():
    return """<title>Upload new File</title>
    <h1>Upload new File</h1>
    <form action="/uploader" method=post enctype=multipart/form-data>
      <p><input type=file name=file>
         <input type=submit value=Upload>
    </form>"""

@app.route('/uploader', methods = ['GET', 'POST'])
def upload():
    if request.method == 'POST':
        f = request.files['file']
        f.save(f.filename)
        return process(f.filename)

def process(filename):

    routename = ['ZYAA', 'ZYBB', 'ZYCC']
    supervisors = ['X', 'Y', 'Z']
    workbook = load_workbook(filename)
    worksheet = workbook.active
    worksheet.column_dimensions.group('A', 'B', hidden=True)
    routes = worksheet.columns[2] …
Run Code Online (Sandbox Code Playgroud)

python flask

2
推荐指数
1
解决办法
8750
查看次数

在工作簿的新工作表上创建熊猫数据透视表

我正在尝试将我创建的数据透视表发送到工作簿中的新工作表上,但是,出于某种原因,当我执行我的代码时,会使用数据透视表(工作表称为“Sheet1”)和数据创建一个新工作表工作表被删除。

这是我的代码:

worksheet2 = workbook.create_sheet()
worksheet2.title = 'Sheet1'
worksheet2 = workbook.active
workbook.save(filename)

excel = pd.ExcelFile(filename)
df = pd.read_excel(filename, usecols=['Product Description', 'Supervisor'])

table1 = df[['Product Description', 'Supervisor']].pivot_table(index='Supervisor', columns='Product Description', aggfunc=len, fill_value=0, margins=True, margins_name='Grand Total')



print table1

writer = pd.ExcelWriter(filename, engine='xlsxwriter')
table1.to_excel(writer, sheet_name='Sheet1')
workbook.save(filename)
writer.save()
Run Code Online (Sandbox Code Playgroud)

另外,我的数据透视表设计有点麻烦。下面是数据透视表的样子:

在此处输入图片说明

如何在总结每一行的末尾添加一列?像这样:(我只需要最后的列,我不在乎像那样格式化它或其他任何东西)

在此处输入图片说明

python dataframe pandas openpyxl

1
推荐指数
1
解决办法
2670
查看次数