我是Spark的新手.我有一个包含某些分析结果的数据框.我将该数据帧转换为JSON,因此我可以在Flask App中显示它:
results = result.toJSON().collect()
Run Code Online (Sandbox Code Playgroud)
我的json文件中的示例条目如下.然后我尝试运行for循环以获得特定结果:
{"userId":"1","systemId":"30","title":"interest"}
for i in results:
print i["userId"]
Run Code Online (Sandbox Code Playgroud)
这根本不起作用,我得到的错误如:Python(json):TypeError:期望的字符串或缓冲区
我用json.dumps和json.loads,仍然一无所获-我不断收到错误如字符串索引必须是整数,以及上述错误.
然后我尝试了这个:
print i[0]
Run Code Online (Sandbox Code Playgroud)
这给了我json"{"而不是第一行的第一个字符.我真的不知道该怎么办,谁能告诉我哪里出错了?
非常感谢.
我正在尝试在JavaFX中实现undo/redo - 我使用了所有形状graphicsContext().我环顾四周,发现save在图形上下文中有一个方法,但它只保存属性,而不是画布的实际形状/状态.最好的解决方法是什么?
这是我创建圆圈时的代码片段之一,例如:
public CircleDraw(Canvas canvas, Scene scene, BorderPane borderPane) {
this.borderPane = borderPane;
this.scene = scene;
this.graphicsContext = canvas.getGraphicsContext2D();
ellipse = new Ellipse();
ellipse.setStrokeWidth(1.0);
ellipse.setFill(Color.TRANSPARENT);
ellipse.setStroke(Color.BLACK);
pressedDownMouse = event -> {
startingPosX = event.getX();
startingPosY = event.getY();
ellipse.setCenterX(startingPosX);
ellipse.setCenterY(startingPosY);
ellipse.setRadiusX(0);
ellipse.setRadiusY(0);
borderPane.getChildren().add(ellipse);
};
releasedMouse = event -> {
borderPane.getChildren().remove(ellipse);
double width = Math.abs(event.getX() - startingPosX);
double height = Math.abs(event.getY() - startingPosY);
graphicsContext.setStroke(Color.BLACK);
graphicsContext.strokeOval(Math.min(startingPosX, event.getX()), Math.min(startingPosY, event.getY()), width, height);
removeListeners();
};
draggedMouse = event -> …Run Code Online (Sandbox Code Playgroud)