- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用 R 写了一段代码,但它不能处理我的大文件,所以我改用 Python。但我一直在寻找 3 个 Python 的 R 等效函数,但没有找到任何令人满意的结果。
3 个 R 函数是:
fromJSON()
unlist()
attr()
好吧,让我向您展示我的问题,我向您展示了我在 R 中做了什么以及我得到了什么。现在我想在 Python 中做同样的事情。
json_file <- '[
{
"id": "haha",
"type": "table",
"A": "HKD",
"B": "HKD",
"C": "HKD",
"V": "HKD",
"composition": [
{
"id": "AO",
"type": "panier"
},
{
"id": "KK",
"type": "basket",
"isAutoDiv": false,
"composition": [
{
"id": "600",
"type": "apple",
"number": 1.11
},
{
"id": "605",
"type": "peach",
"number": 1.79
}
]
},
{
"id": "KL",
"type": "basket"
}
]
},
{
"id": "hoho",
"type": "table",
"composition": [
{
"id": "KT",
"type": "panier"
},
{
"id": "OT",
"type": "panier"
},
{
"id": "CL",
"type": "basket",
"isAutoDiv": false,
"composition": [
{
"id": "450",
"type": "apple"
},
{
"id": "630",
"type": "orange"
},
{
"id": "023",
"type": "orange",
"composition": [
{
"id": "AOOOOOOO",
"type": "orangejuice"
},
{
"id": "VMVMVMVMV",
"type": "orangejuice"
}
]
}
]
}
]
}
]'
现在我这样做:1:
nestedjson <- fromJSON(json_file)
我可以得到:
[[1]]
[[1]]$id
[1] "haha"
[[1]]$type
[1] "table"
[[1]]$A
[1] "HKD"
[[1]]$B
[1] "HKD"
[[1]]$C
[1] "HKD"
[[1]]$V
[1] "HKD"
[[1]]$composition
[[1]]$composition[[1]]
[[1]]$composition[[1]]$id
[1] "AO"
[[1]]$composition[[1]]$type
[1] "panier"
[[1]]$composition[[2]]
[[1]]$composition[[2]]$id
[1] "KK"
[[1]]$composition[[2]]$type
[1] "basket"
[[1]]$composition[[2]]$isAutoDiv
[1] FALSE
[[1]]$composition[[2]]$composition
[[1]]$composition[[2]]$composition[[1]]
[[1]]$composition[[2]]$composition[[1]]$id
[1] "600"
[[1]]$composition[[2]]$composition[[1]]$type
[1] "apple"
[[1]]$composition[[2]]$composition[[1]]$number
[1] 1.11
[[1]]$composition[[2]]$composition[[2]]
[[1]]$composition[[2]]$composition[[2]]$id
[1] "605"
[[1]]$composition[[2]]$composition[[2]]$type
[1] "peach"
[[1]]$composition[[2]]$composition[[2]]$number
[1] 1.79
[[1]]$composition[[3]]
[[1]]$composition[[3]]$id
[1] "KL"
[[1]]$composition[[3]]$type
[1] "basket"
[[2]]
[[2]]$id
[1] "hoho"
[[2]]$type
[1] "table"
[[2]]$composition
[[2]]$composition[[1]]
[[2]]$composition[[1]]$id
[1] "KT"
[[2]]$composition[[1]]$type
[1] "panier"
[[2]]$composition[[2]]
[[2]]$composition[[2]]$id
[1] "OT"
[[2]]$composition[[2]]$type
[1] "panier"
[[2]]$composition[[3]]
[[2]]$composition[[3]]$id
[1] "CL"
[[2]]$composition[[3]]$type
[1] "basket"
[[2]]$composition[[3]]$isAutoDiv
[1] FALSE
[[2]]$composition[[3]]$composition
[[2]]$composition[[3]]$composition[[1]]
[[2]]$composition[[3]]$composition[[1]]$id
[1] "450"
[[2]]$composition[[3]]$composition[[1]]$type
[1] "apple"
[[2]]$composition[[3]]$composition[[2]]
[[2]]$composition[[3]]$composition[[2]]$id
[1] "630"
[[2]]$composition[[3]]$composition[[2]]$type
[1] "orange"
[[2]]$composition[[3]]$composition[[3]]
[[2]]$composition[[3]]$composition[[3]]$id
[1] "023"
[[2]]$composition[[3]]$composition[[3]]$type
[1] "orange"
[[2]]$composition[[3]]$composition[[3]]$composition
[[2]]$composition[[3]]$composition[[3]]$composition[[1]]
[[2]]$composition[[3]]$composition[[3]]$composition[[1]]$id
[1] "AOOOOOOO"
[[2]]$composition[[3]]$composition[[3]]$composition[[1]]$type
[1] "orangejuice"
[[2]]$composition[[3]]$composition[[3]]$composition[[2]]
[[2]]$composition[[3]]$composition[[3]]$composition[[2]]$id
[1] "VMVMVMVMV"
[[2]]$composition[[3]]$composition[[3]]$composition[[2]]$type
[1] "orangejuice"
然后我做这个2:
unnestedjson <- unlist(nestedjson)
我可以得到:
id
"haha"
type
"table"
A
"HKD"
B
"HKD"
C
"HKD"
V
"HKD"
composition.id
"AO"
composition.type
"panier"
composition.id
"KK"
composition.type
"basket"
composition.isAutoDiv
"FALSE"
composition.composition.id
"600"
composition.composition.type
"apple"
composition.composition.number
"1.11"
composition.composition.id
"605"
composition.composition.type
"peach"
composition.composition.number
"1.79"
composition.id
"KL"
composition.type
"basket"
id
"hoho"
type
"table"
composition.id
"KT"
composition.type
"panier"
composition.id
"OT"
composition.type
"panier"
composition.id
"CL"
composition.type
"basket"
composition.isAutoDiv
"FALSE"
composition.composition.id
"450"
composition.composition.type
"apple"
composition.composition.id
"630"
composition.composition.type
"orange"
composition.composition.id
"023"
composition.composition.type
"orange"
composition.composition.composition.id
"AOOOOOOO"
composition.composition.composition.type
"orangejuice"
composition.composition.composition.id
"VMVMVMVMV"
composition.composition.composition.type
"orangejuice"
最后我做了这 3:
unnestednames <- attr(unnestedjson, "names")
我可以得到以下结果:这就是我想要的 Python 代码:名称列表,其中属性的名称包含“组合”。可以显示属性在哪个级别。
例如,第 2 层嵌套的属性名称为“composition.type”,第 4 层嵌套的属性名称为“composition.composition.composition.id”。
[1] "id"
[2] "type"
[3] "A"
[4] "B"
[5] "C"
[6] "V"
[7] "composition.id"
[8] "composition.type"
[9] "composition.id"
[10] "composition.type"
[11] "composition.isAutoDiv"
[12] "composition.composition.id"
[13] "composition.composition.type"
[14] "composition.composition.number"
[15] "composition.composition.id"
[16] "composition.composition.type"
[17] "composition.composition.number"
[18] "composition.id"
[19] "composition.type"
[20] "id"
[21] "type"
[22] "composition.id"
[23] "composition.type"
[24] "composition.id"
[25] "composition.type"
[26] "composition.id"
[27] "composition.type"
[28] "composition.isAutoDiv"
[29] "composition.composition.id"
[30] "composition.composition.type"
[31] "composition.composition.id"
[32] "composition.composition.type"
[33] "composition.composition.id"
[34] "composition.composition.type"
[35] "composition.composition.composition.id"
[36] "composition.composition.composition.type"
[37] "composition.composition.composition.id"
[38] "composition.composition.composition.type"
我一直在寻找一些 Python 函数来做同样的事情,但没有找到任何东西。如果您有在 Python 中执行这些操作的任何想法,那将解决我的大问题!
非常感谢!
最佳答案
我的回答是片面的。我只解释了如何取消列表。
对于数字,我们会像下面这样取消列出:
取消列出号码
例如:
aa = [1,2,3,4]
for i in aa:
print(i, end="" )
对于字符串,我们需要像 bleow 一样取消列表:
c=["a", "ja", "ra", "ya", "ma"]
ab= ",". join(c)
print(ab)
使用 Pd.series 取消列表的其他方法
例如:
vector = [1,2,3,4,5]
print(pd.Series(vector))
又想转成列表:
square_vector = pd.Series(vector)
print(square_vector.tolist())
关于Python 与 R 的 fromJSON()、unlist()、attr() 等价的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58860797/
有了这个 persistence.xml : org.eclipse.persistence.jpa.PersistenceProvider osgi:s
我使用 eclipselink 作为 JPA 提供程序,并且需要将实体保存在 jar 文件中。所有 jar 实体都用 @Entity 进行注释。我尝试了 false 和 true 但它没有自动检测实体
试图将列表展平为向量我刚刚发现了一个意外的行为。为了简化让我们做什么?unlist建议作为一个例子: unlist(options()) 查看原始列表大小: length(unlist(options
这个问题已经有答案了: Flatten an irregular (arbitrarily nested) list of lists (51 个回答) 已关闭 5 年前。 有没有快速的方法来理清列表
我有许多要添加列的 df。为了 mrp,这些 dfs 被称为 df_1、df_2、df_3... for (i in 1:10) { assign(paste("df_",i,sep = ""),da
这个问题在这里已经有了答案: Why does unlist() kill dates in R? (2 个回答) 5年前关闭。 我有一个多级列表对象,其中所有元素都属于 POSIXlt 类: [[1
我对 unlist() 产生的名字有点困惑.请考虑以下 MWE vector1 <- c(1,2,3,4,5,6,7,8,9,10) names(vector1) <- c(1,2,2,3,4,4,5
我有一个简单但奇怪的问题。 index.list 是一个列表,包含 118,771 个元素(整数或数字)。通过应用函数 unlist,我丢失了大约 500 个元素。 看下面的代码: > indices
我有一些自定义类,例如: setClass("foo", slots = c(mat = "matrix")) 我想处理 foo 对象列表如何“未列出”。 mat <- matrix(rnorm(16
当我取消列出日期列表时,它会将它们恢复为数字。这正常吗?除了重新应用 as.Date 之外还有其他解决方法吗? > dd class(dd) [1] "Date" > unlist(dd) [1]
我有一个嵌套列表,其中包含一组 data.frame 对象,现在我希望它们展平。我使用了最常见的方法,如 unlist 方法,它没有正确地填充我的列表,输出没有很好地表示。我怎样才能更有效地做到这一点
我正在使用包含诊断编码的数据集,我正在尝试查看 follow_up_code 是否在 discharge_codes 中。遗憾的是,放电代码是以字符串形式提供的,而不是向量。 mre % mutate
我正在尝试提取数据框中的部分字符。 d% mutate(new1=(unlist(str_split(a,"_"))[2])) 但结果在所有情况下都是“bb”。我做错了什么? 最佳答案 当你这样做的时
在 Scala 中是否有一种简单的方法可以将某事物的序列(等)的嵌套序列展平或“取消列出”为这些事物的简单序列,而没有任何嵌套结构? 最佳答案 我不认为有一个 flatten` 方法可以将深度嵌套转换
我有一些使用 S4 的经验对象及其插槽,所以我知道如何访问特定的插槽和子插槽。我想学习的是如何以 unlist 的方式“去槽化”对象拆开 S3列表。 我的直接目标是让我的一个玩具有一个 S4 对应物,
因为 SO 最近有点慢,所以我发布了一个简单的问题。如果大鱼留在替补席上并给新秀一个回应的机会,我将不胜感激。 有时我们的对象有大量的大列表元素(向量)。您将如何将此对象“取消列出”为单个向量。证明您
我正在为看起来像 12/8/12 的日期转换字符串,可能以一种相当迂回的方式通过 1) 在日期和月份数字中添加前导零(零填充),然后在我编写的自定义函数中使用 as.Date 函数转换为日期对象。 d
在 R 中,我调用 unlist在要转换为向量的列表上。但是,我的一些列表元素是空的,因此返回 integer(0) . unlist()默认情况下,函数会删除它。如何返回具有 NA 的向量列表是空的
在我的表格中,某些单元格是向量而不是单个值,即该列是列表而不是向量: dt1 <- data.table( colA= c('A1','A2','A3'), colB=list('B1',
我有一个列表向量,我对它们使用unlist。向量中的一些元素是 NULL 并且 unlist 似乎正在删除它们。 如何防止这种情况发生? 这是一个简单(非)工作示例,展示了 unlist 的这个不需要
我是一名优秀的程序员,十分优秀!