小编Din*_*esh的帖子

Python:将字典转换为字节

我正在尝试将字典转换为字节,但在将其转换为正确格式时遇到问题。

首先,我试图用自定义模式映射字典。架构定义如下 -

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 dictionary

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

使用 Python Flask 上传 CSV 文件并进行处理

我有以下代码使用 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 实现的任何等效方法?

python csv flask-restful python-3.6

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

根据Python中的时间间隔将时间范围拆分为多个时间段

我有一个时间范围和一个间隔,我需要根据间隔值将时间范围分成多个时间段。

例如,时间范围为 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)

python time python-3.x

6
推荐指数
2
解决办法
6350
查看次数

SSD Mobilenet模型无法检测到更长距离的物体

我已经使用自定义数据集(电池)训练了SSD Mobilenet模型。电池的示例图像在下面给出,并且还附带了我用来训练模型的配置文件。

样品电池图像

当物体离摄像机更近(通过网络摄像头测试)时,它可以以0.95以上的概率准确地检测到物体,但是当我将物体移到更长的距离时,它不会被检测到。通过调试,发现该对象被检测到,但概率较低,为0.35。最小阈值设置为0.5。如果将阈值0.5更改为0.2,则将检测到对象,但是会有更多的错误检测。

参照此链接,SSD对于小物体的性能不佳,替代解决方案是使用FasterRCNN,但该模型的实时性非常慢。我也希望使用SSD从更长的距离检测电池。

请帮我以下

  1. 如果要以较高的概率检测距离较远的对象,是否需要在配置中更改纵横比和缩放参数?
  2. 如果要纵横比,该如何选择与对象相对应的那些值?

solid-state-drive object-detection tensorflow object-detection-api mobilenet

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

将字典列表的字典转换为 Pandas 数据框

我在下面给出的结构中有一个字典,我需要将它转换为 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)

python dataframe pandas

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

APScheduler:完成上一个工作后触发新工作

我正在使用 APScheduler(3.5.3) 来运行三个不同的作业。我需要在完成第一份工作后立即触发第二份工作。另外我不知道第一份工作的完成时间。我将触发器类型设置为 cron 并计划每 2 小时运行一次。

我克服这个问题的一种方法是在每项工作结束时安排下一项工作。我们还有其他方法可以通过 APScheduler 实现吗?

cron apscheduler python-3.6

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