小编jba*_*ney的帖子

如何将具有依赖项的 python 脚本打包到 zip/tar 中?

我有一个 hadoop 集群,我正在使用 Numpy、SciPy 和 Pandas 对它进行数据分析。我希望能够使用命令的“--file”参数将我的 hadoop 作业作为 zip/tar 文件提交。该 zip 文件应该包含我的 python 程序需要执行的所有内容,这样无论我的脚本在集群中的哪个节点上执行,我都不会在运行时遇到 ImportError。

由于公司政策,在每个节点上安装这些库并不完全可行,尤其是对于探索性/敏捷开发。不过,我确实安装了 pip 和 virtualenv 来根据需要创建沙箱。

我看过zipimportpython 打包,但似乎都不能满足我的需求/我在使用这些工具时遇到了困难。

有没有人有幸做到这一点?我似乎无法在网上找到任何成功案例。

谢谢!

python hadoop numpy pandas hadoop-streaming

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

Pandas/Python 破坏 DataFrames 中的 JSON 数据

我正在与 API 交互并取回 JSON 数据。在 JSON 对象的顶层,我有“常规”数据,但某些字段具有更高级的结构:

{
    "foo": 1,
    "bar": "string",
    "spam": {
                "egg":"green",
                "ham":"yum",
                "ran": {
                        "out_of":"fake_words"
                       }
            }
}
Run Code Online (Sandbox Code Playgroud)

我需要将这些高级结构(“垃圾邮件”)保留为有效的 JSON

我正在使用请求获取数据并将其加载到 Pandas DataFrame 中,如下所示:

api_result = api.get_data().json()     #the json output of the Request object
df = read_json(json.dumps(api_result))
Run Code Online (Sandbox Code Playgroud)

这给了我一个很好的三列数据帧,正如我所期望的(这也是我想要的)。问题来自于字符串:

foo    bar        spam
1      'string'   {'egg':'green','ham':'yum','ran':{'out_of':'fake_words'}
Run Code Online (Sandbox Code Playgroud)

Pandas 或 Python 已将我的数据中的所有字符串更改为单引号 (') 而不是有效的 JSON 双引号 (")。这种行为破坏了所有期望有效 JSON 对象的下游处理,因为所有引号现在都是单引号。

编辑--> 我的程序写出一个 csv,该 csv 被摄取到数据库表中,期望在许多字段中使用有效的 JSON。许多其他过程使用此表进行进一步分析和数据准备。<--编辑

有没有办法告诉 Pandas/Python 停止将我的字符串从双引号更改为单引号?我知道一般的让步是单引号更像 Pythonic,但现在它们正在毁掉我的一切。

谢谢!

python string json pandas

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

标签 统计

pandas ×2

python ×2

hadoop ×1

hadoop-streaming ×1

json ×1

numpy ×1

string ×1