小编sha*_*uga的帖子

带有pydantic模型的fastapi表单数据

我正在尝试从 html 表单提交数据并使用 pydantic 模型对其进行验证。
使用此代码

from fastapi import FastAPI, Form
from pydantic import BaseModel
from starlette.responses import HTMLResponse


app = FastAPI()

@app.get("/form", response_class=HTMLResponse)
def form_get():
    return '''<form method="post"> 
    <input type="text" name="no" value="1"/> 
    <input type="text" name="nm" value="abcd"/> 
    <input type="submit"/> 
    </form>'''


class SimpleModel(BaseModel):
    no: int
    nm: str = ""

@app.post("/form", response_model=SimpleModel)
def form_post(form_data: SimpleModel = Form(...)):
    return form_data
Run Code Online (Sandbox Code Playgroud)

我如何收到 http 状态422不可处理实体的错误

{"detail":[{"loc":["body","form_data"],"msg":"field required","type":"value_error.missing"}]}

等效的 curl 命令(由 firfox 生成)是

curl ' http://localhost:8001/form ' -H 'Content-Type: application/x-www-form-urlencoded' --data 'no=1&nm=abcd'

这里的请求正文包含 no=1&nm=abcd …

python pydantic fastapi

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

pandas DataFrame.replace函数在datetime中被破坏

在pandas v0.17.1(anaconda python v3.4.3)中,替换功能打开datetime 了.

我试图DataFrame用新值替换我的字符串值.它DataFrame包含多个列(包括数据时间列).
替代函数失败

>>> from datetime import datetime
>>> import pandas as pd
>>> df = pd.DataFrame({'no':range(4), 'nm':list('abcd'), 'tm':datetime.now()})
>>> df.replace('a', 'A')
Run Code Online (Sandbox Code Playgroud)

回溯(最近一次调用最后一次):文件"/home/xxx/anaconda/envs/py3/lib/python3.4/site-packages/pandas/core/internals.py",第2061行,在_try_coerce_args中其他= other.astype ('i8',copy = False).view('i8')ValueError:基数为10的int()的无效文字:'a'

在处理上述异常期间,发生了另一个异常:

回溯(最近一次调用最后一次):文件"/home/xxx/anaconda/envs/py3/lib/python3.4/site-packages/pandas/core/internals.py",第594行,替换值,_,to_replace ,_ = self._try_coerce_args(self.values,to_replace)文件"/home/xxx/anaconda/envs/py3/lib/python3.4/site-packages/pandas/core/internals.py",第2066行,在_try_coerce_args中引发TypeError TypeError

在处理上述异常期间,发生了另一个异常:

回溯(最近一次调用最后一次):文件"",第1行,在文件"/home/xxx/anaconda/envs/py3/lib/python3.4/site-packages/pandas/core/generic.py",第3110行,替换inplace = inplace,regex = regex)文件"/home/xxx/anaconda/envs/py3/lib/python3.4/site-packages/pandas/core/internals.py",第2870行,取代返回自我.apply('replace',**kwargs)文件"/home/xxx/anaconda/envs/py3/lib/python3.4/site-packages/pandas/core/internals.py",第2823行,申请中申请= getattr(b,f)(**kwargs)文件"/home/xxx/anaconda/envs/py3/lib/python3.4/site-packages/pandas/core/internals.py",第607行,如果没有替换mask.any():UnboundLocalError:赋值前引用的局部变量'mask'

这个相同的代码在pandas版本0.16.2上正常工作.
这是一个确认的错误吗?

python python-3.x pandas

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

根据 Facebook 广告的电子邮件 md5 哈希值创建客户受众

我的组织对客户信息非常敏感,不愿意向外部系统透露客户信息(电子邮件)。不过,我正在尝试通过 Facebook 广告瞄准这些客户。为此,组织允许我仅使用电子邮件的 md5 哈希(或任何其他众所周知的哈希算法)。

由于我无法提供纯文本电子邮件列表,是否可以从 md5 哈希电子邮件列表(非纯文本)创建自定义受众。

facebook-ads-api

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

spark join失败,异常为"ClassNotFoundException:org.apache.spark.rdd.RDD $",但在粘贴到Hadoop集群的spart-shell时运行

我试图使用join从基于另一个文件(列表)的值过滤文件(事实)中的记录.

case class CDR(no:Int,nm:String)
val facts = sc.textFile("/temp_scv/a.csv").map( (line) => { val cols = line.split(",");new CDR(cols(0).toInt,cols(1)); }).keyBy( (cdr:CDR) => cdr.no)
val list = sc.textFile("/temp_scv/b.csv").keyBy( (no) => no.toInt)
val filtered = facts.join(list)
Run Code Online (Sandbox Code Playgroud)

当我将其打包为jar并Hadoop cluster使用spark-submit 执行此操作时,它会失败并出现异常

ClassNotFoundException: org.apache.spark.rdd.RDD$
Run Code Online (Sandbox Code Playgroud)

但是当我将它粘贴到spark-shell上时,相同的代码运行正常Hadoop cluster.

scala apache-spark

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