python - Python:将熊猫数据框作为参数传递给子进程
问题描述
如何使用子进程将数据帧作为参数发送到带有 spark-submit 的 python 脚本。我已经尝试了下面的代码,但没有成功,因为我们无法连接字符串和对象。
def spark_submit(self, test_cases, email):
command = 'spark-submit TestRunner.py '+test_cases+" "+email
print(command)
process = subprocess.Popen([command], shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
output, error = process.communicate()
status = process.returncode
print(status)```
解决方案
您不能连接任何不是字符串(或强制转换为字符串)的东西。我假设您不能直接将数据框作为命令行参数传递,因此我建议将其转换为文件并传递文件路径而不是数据框本身。
df.to_csv('mydf.csv')
command = 'spark-submit TestRunner.py mydf.csv ' + email
推荐阅读
- firebase - Cloud Firestore 安全规则中的 MapDiff 是什么?
- javascript - 所以我创建了一个不和谐的投票机器人。我如何使它如此特定的角色可以使用机器人?(discord.js)
- python - 在 django 中提交表单时 POST 方法不起作用
- javascript - 在 JS 中排序名称
- google-cloud-platform - 如何编写结构化日志以便 GCP 日志查看器使用消息字段?
- javascript - 如何将总标签添加到垫分页器范围 - 角度材料
- arrays - BMI计算器总是快速返回0
- ruby - 如何在 ruby 中转换这个 openssl 命令?
- r - rvest:根据内部类文本过滤节点并计算内部svg元素的数量
- rxjs - 将旧的 RxJS 代码转换为 v6:merge、filter、timer、map、first、toPromise()