【发布时间】:2022-11-01 22:00:44
【问题描述】:
我正在做一些抓取项目,我正在抓取一些数据文件信息。问题是响应是一个有时以 kB、MB、GB 等为单位的字符串。我需要将得到的响应转换为 MB 并删除文本部分,例如。 290.5kB 应该在最后返回 0.29 而没有 MB。
刮掉的部分如下所示:
Format: MapInfo MIF, (290.5 kB)
这是我的代码sn-p:
f_file_size = file_format.split('Format: ')[1].split(',')[1].strip(' ()')
output_dict['data_files'].append({'file_size': f_file_size})
哪个输出:
"data_files" : [{
"file_size": "290.5 kB"
}]
您的帮助将不胜感激
【问题讨论】:
-
这绝对不是输出,
290.5kB周围会有引号(除非你有你省略的自定义打印代码)。无论如何,您尝试过什么?这不是内置工具,您将需要编写自定义解析器,如果您不努力,“请为我编写代码”不是一个好问题。如果您尝试并失败,并提供您尝试的minimal reproducible example,我们将很乐意帮助您修复它。 -
编写一个函数来解析返回的字符串并将它们转换为数字。然后,您可以稍后按您喜欢的方式格式化该数字。
-
谢谢你。我手写了代码。我尝试为每个 kB、GB 和 MB 编写 if else 语句,但我不能除以字符串。剥离文本部分的代码(MB、kB 等)将使您很难知道要除以 @ShadowRanger 的内容
标签: python