小编Ale*_*her的帖子

Pandas将Dataframe转换为嵌套Json

我的问题基本上与这个问题相反:

从深层嵌套的JSON创建Pandas DataFrame

我想知道是否可以做相反的事情.给出如下表:

     Library  Level           School Major  2013 Total
200  MS_AVERY  UGRAD  GENERAL STUDIES  GEST        5079
201  MS_AVERY  UGRAD  GENERAL STUDIES  HIST           5
202  MS_AVERY  UGRAD  GENERAL STUDIES  MELC           2
203  MS_AVERY  UGRAD  GENERAL STUDIES  PHIL          10
204  MS_AVERY  UGRAD  GENERAL STUDIES  PHYS           1
205  MS_AVERY  UGRAD  GENERAL STUDIES  POLS          53
Run Code Online (Sandbox Code Playgroud)

是否可以生成嵌套的dict(或JSON),如:

字典:

{'MS_AVERY': 
    { 'UGRAD' :
        {'GENERAL STUDIES' : {'GEST' : 5}
                             {'MELC' : 2}

 ...
Run Code Online (Sandbox Code Playgroud)

python json dictionary pandas

11
推荐指数
1
解决办法
3677
查看次数

scala.Some无法强制转换为java.lang.String

在这个应用程序中,我收到此错误:

scala.Some cannot be cast to java.lang.String
Run Code Online (Sandbox Code Playgroud)

在尝试这个时:

x.email.asInstanceOf[String]
Run Code Online (Sandbox Code Playgroud)

x.email是一个选项[String]

编辑:我知道我在这里处理不同的类型,我只是想知道是否有一个更简洁的方法什么都不做,然后一个

match { case....}
Run Code Online (Sandbox Code Playgroud)

序列.因为我将x.email转换为String以用于JSON目的,所以JSON对象将处理空字段,并且我没有明确地处理它.很抱歉不清楚!!

casting scala scalatra

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

将.jar文件导入Scala环境

即使在阅读:Scala,jar文件的问题,我仍然有点困惑.我试图将一些包导入我的Scala文件,即使添加到classpath后,解释器也无法识别它们.

一个例子:

我有import语句:

import org.json4s._
Run Code Online (Sandbox Code Playgroud)

我从这里下载了.jar:http://mvnrepository.com/artifact/org.json4s/json4s-native_2.10/3.2.4

并使用以下命令添加到解释器类路径:

scala> :cp /Users/aspangher13/Downloads/json4s-native_2.10-3.2.4.jar
Run Code Online (Sandbox Code Playgroud)

Scala承认类路径:

Your new classpath is: ".:/Users/aspangher13/Downloads/json4s-native_2.10-3.2.4.jar:/Users/aspangher13/Downloads/jna-3.5.2.jar"
Run Code Online (Sandbox Code Playgroud)

但仍然抛出这个错误:

<console>:7: error: object scalatra is not a member of package org
   import org.json4s._
Run Code Online (Sandbox Code Playgroud)

谁能看到我做错了什么?谢谢!!

作为后续,有谁知道在哪里找到包:JsonAST._?

packaging scala json4s

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

Python将角色转换为操作

我正在为一个项目问题编写一个简单的Python程序,它涉及在操作上生成一个搜索空间,例如:

8 = (4 * (1 + 3)) / 2
14 = 4 * (3 + 1 / 2)
19 = 4 * (2 + 3) ? 1
36 = 3 * 4 * (2 + 1)
Run Code Online (Sandbox Code Playgroud)

我在数组中存储可能的操作:

op = ['+', '-', '*', '/']
Run Code Online (Sandbox Code Playgroud)

我想知道在Python中是否有任何方法可以将字符强制转换为操作,所以我可以简单地执行以下操作:

for operation in op:
    num1 foo(operation) num2
Run Code Online (Sandbox Code Playgroud)

python

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

如何测试需要通过HTTPServletRequest的代码

我正在运行一些 Scala 代码(使用 Java SocialAuth 库),需要将 HTTPServletRequest 作为参数传入。

def myClass(prov: String, site: String, request: HttpServletRequest): {
    //some initial code here

    val session = request.getSession()
    session.setAttribute(/*some params*/)

    //code continues...

}
Run Code Online (Sandbox Code Playgroud)

因此,HttpServletRequest 似乎是一种非常酷的存储会话变量并在方法之间传递会话的方法。但是,我不太确定如何测试这段代码,因为我不太明白 HttpServletRequest 接口什么。

我做了一些研究,但我想知道是否有人可以帮我澄清。 HttpServletRequest是一个接口,这意味着它不能自行实例化。那么它在代码中是如何使用的呢?

编辑:例如,当一个方法采用 HttpServletRequest 作为参数时,通常会传入什么实现类?


FOLLOWUP:根据给出的答案,不同服务器的HttpServletRequest实现方式不同;例如,Ireeder 指出,Apache 甚至有多种实现。那么,代码如何指定服务器需要使用其实现呢?换句话说,假设我有使用 myClass 的测试代码:

def otherClass(){
    val site = "www.example.com"
    val provider = "twitter"
    val mockRequest = mock(HttpServletRequest.class)   //using https://code.google.com/p/mockito/.  (eclipse throws error..not too sure about syntax but throwing up this example quickly, so will edit later)

    myClass(provider, …
Run Code Online (Sandbox Code Playgroud)

java servlets scala

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

光滑:使用Column [Int]值的困难

我有一个跟随我最近问的另一个Slick问题(Slick table Query:Trouble with recognition value).请多多包涵!!我是数据库的新手,Slick在文档方面似乎特别差.无论如何,我有这张桌子:

object Users extends Table[(Int, String)]("Users") {

  def userId          = column[Int]("UserId", O.PrimaryKey, O.AutoInc)
  def userName        = column[String]("UserName")

  def * = userId ~ userName
}
Run Code Online (Sandbox Code Playgroud)

第一部分

我正在尝试使用此函数进行查询:

def findByQuery(where: List[(String, String)]) = SlickInit.dbSlave withSession {    

  val q = for {
    x <- Users if foo((x.userId, x.userName), where)
           } yield x
      q.firstOption.map { case(userId, userName) =>
                    User(userId, userName)}
   }
Run Code Online (Sandbox Code Playgroud)

其中"where"是搜索查询列表// ex.("userId","1"),("userName","Alex")"foo"是测试相等性的辅助函数.我遇到了类型错误.
x.userId的类型为Column [Int].如何将其作为Int来操纵?我试过铸造,例如:

foo(x.userId.asInstanceOf[Int]...)
Run Code Online (Sandbox Code Playgroud)

但我也遇到了麻烦.如何处理Slick返回类型?

第二部分 是否有人熟悉铸造功能:

def*= userId~userName <>(User,User.unapply _)

?我知道这个问题有一些很好的答案,最值得一提的是:到目前为止我无法理解的scala光滑方法和一个非常相似的问题:在SLICK中用伴随对象映射投影 …

database scala scalatra slick

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

标签 统计

scala ×4

python ×2

scalatra ×2

casting ×1

database ×1

dictionary ×1

java ×1

json ×1

json4s ×1

packaging ×1

pandas ×1

servlets ×1

slick ×1