我正在尝试将字典转换为字节,但在将其转换为正确格式时遇到问题。
首先,我试图用自定义模式映射字典。架构定义如下 -
class User:
def __init__(self, name=None, code=None):
self.name = name
self.code = code
class UserSchema:
name = fields.Str()
code = fields.Str()
@post_load
def create_userself, data):
return User(**data)
Run Code Online (Sandbox Code Playgroud)
我的字典结构如下-
user_dict = {'name': 'dinesh', 'code': 'dr-01'}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用以下代码将字典映射到用户架构
schema = UserSchema(partial=True)
user = schema.loads(user_dict).data
Run Code Online (Sandbox Code Playgroud)
这样做时,schema.loads期望输入是 str、bytes 或 bytearray。以下是我将字典转换为字节的步骤
import json
user_encode_data = json.dumps(user_dict).encode('utf-8')
print(user_encode_data)
Run Code Online (Sandbox Code Playgroud)
输出:
b'{"name ": "dinesh", "code ": "dr-01"}
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用模式映射,我将无法获得所需的模式对象。但是,如果我有下面给出的格式的输出,我可以获得正确的模式对象。
b'{\n "name": "dinesh",\n "code": "dr-01"}\n'
Run Code Online (Sandbox Code Playgroud)
任何建议如何将字典转换为字节?
我有以下代码使用 Python FLASK 上传 CSV 文件。
from flask_restful import Resource
import pandas as pd
ROOT_PATH = os.path.dirname(os.path.abspath(__file__))
class UploadCSV(Resource):
def post(self):
files = request.files['file']
files.save(os.path.join(ROOT_PATH,files.filename))
data = pd.read_csv(os.path.join(ROOT_PATH,files.filename))
print(data)
api.add_resource(UploadCSV, '/v1/upload')
if __name__ == '__main__':
app.run(host='localhost', debug=True, port=5000)
Run Code Online (Sandbox Code Playgroud)
这段代码运行良好,我可以成功上传 CSV 文件并使用 Pandas 数据框读取它。但我将 csv 保存在本地文件系统中并读取它。
我试过像下面这样阅读 -
files = request.files['file']
files.read()
Run Code Online (Sandbox Code Playgroud)
获得的结果是字节格式,但我需要字典格式。因此,我使用 Pandas 数据框来读取它,然后将其转换为我的格式的自定义字典。
是否可以在不将其写入本地文件系统的情况下即时读取 CSV 文件?或者我们可以使用 Python Flask Restful 实现的任何等效方法?
我有一个时间范围和一个间隔,我需要根据间隔值将时间范围分成多个时间段。
例如,时间范围为 9:30 到 11:30,间隔为 30,输出时间段应作为日期时间对象放在列表中
输出:
[
2020-08-24 9:30 - 2020-08-24 10:00,
2020-08-24 10:00 - 2020-08-24 10:30
2020-08-24 10:30 - 2020-08-24 11:00,
2020-08-24 11:00 - 2020-08-24 11:30
]
Run Code Online (Sandbox Code Playgroud) 我已经使用自定义数据集(电池)训练了SSD Mobilenet模型。电池的示例图像在下面给出,并且还附带了我用来训练模型的配置文件。
当物体离摄像机更近(通过网络摄像头测试)时,它可以以0.95以上的概率准确地检测到物体,但是当我将物体移到更长的距离时,它不会被检测到。通过调试,发现该对象被检测到,但概率较低,为0.35。最小阈值设置为0.5。如果将阈值0.5更改为0.2,则将检测到对象,但是会有更多的错误检测。
参照此链接,SSD对于小物体的性能不佳,替代解决方案是使用FasterRCNN,但该模型的实时性非常慢。我也希望使用SSD从更长的距离检测电池。
请帮我以下
solid-state-drive object-detection tensorflow object-detection-api mobilenet
我在下面给出的结构中有一个字典,我需要将它转换为 Pandas Dataframe 来执行一些聚合操作。但我无法将其转换为给定的输出格式
{
"raj": [
{
"subject": "science",
"score": "35",
"create_time": "1595990288421"
},
{
"subject": "maths",
"score": "40",
"create_time": "1595980800000"
}
],
"dev": [
{
"subject": "science",
"score": "23",
"create_time": "1595990288421"
}
],
"mag":[
{
"subject": "science",
"score": "41",
"create_time": "1595990288421"
},
{
"subject": "maths",
"score": "25",
"create_time": "1595980800000"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我需要输出数据帧采用给定格式
name subject score create_time
------------------------------------------
raj science 35 1595990288421
raj maths 40 1595980800000
dev science 23 1595990288421
mag science 35 1595990288421
mag maths 25 1595980800000 …
Run Code Online (Sandbox Code Playgroud) 我正在使用 APScheduler(3.5.3) 来运行三个不同的作业。我需要在完成第一份工作后立即触发第二份工作。另外我不知道第一份工作的完成时间。我将触发器类型设置为 cron 并计划每 2 小时运行一次。
我克服这个问题的一种方法是在每项工作结束时安排下一项工作。我们还有其他方法可以通过 APScheduler 实现吗?
python ×4
python-3.6 ×2
apscheduler ×1
cron ×1
csv ×1
dataframe ×1
dictionary ×1
mobilenet ×1
pandas ×1
python-3.x ×1
tensorflow ×1
time ×1