小编use*_*440的帖子

SQL - 有条件地选择列(如果存在)

我只需要在表中存在列时选择一个列,否则可以设置为null.

下面的示例表,可以说markscol不是必需的,因此需要检查它是否存在

表1:

name marks
joe  10
john 11
mary 13
Run Code Online (Sandbox Code Playgroud)

查询:

select
    name,
    marks if it exists else null as marks1 -- pseudo code
from 
    table1
Run Code Online (Sandbox Code Playgroud)

应该选择marks什么?

sql postgresql

6
推荐指数
2
解决办法
3462
查看次数

Mongodb在插入文档时替换键名中的点(.)

MongoDb不支持带点的键.我有一个Ruby嵌套哈希,它有许多带点(.)字符的键.在将此类数据插入MongoDb时,是否存在可用于指定.类似下划线的字符替换的_配置

我正在使用带Ruby和mongogem的MongoDB .

示例哈希如下所示

{
  "key.1" => {
             "second.key" => {
                             "third.key" => "val"
                           }
             }
}
Run Code Online (Sandbox Code Playgroud)

ruby mongodb

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

dplyr - 使用列名作为函数参数

使用数据框,我使用dplyr来聚合某些列,如下所示.

> data <- data.frame(a=rep(1:2,3), b=c(6:11))
> data
  a  b
1 1  6
2 2  7
3 1  8
4 2  9
5 1 10
6 2 11
> data %>% group_by(a) %>% summarize(tot=sum(b))
# A tibble: 2 x 2
      a   tot
  <int> <int>
1     1    24
2     2    27
Run Code Online (Sandbox Code Playgroud)

太棒了.但是我想为此创建一个可重用的函数,以便可以将列名作为参数传递.

看看这里的相关问题的答案,我尝试了以下内容.

sumByColumn <- function(df, colName) {
  df %>%
  group_by(a) %>%
  summarize(tot=sum(colName))
  df
}
Run Code Online (Sandbox Code Playgroud)

但是我无法让它工作.

> sumByColumn(data, "b")

 Error in summarise_impl(.data, dots) : 
  Evaluation error: invalid 'type' (character) …
Run Code Online (Sandbox Code Playgroud)

r dplyr

6
推荐指数
4
解决办法
2690
查看次数

python嵌套json到带有指定标题的csv/xlsx

像下面这样的 json,它是最外层的对象数组,还有进一步嵌套的对象数组。

data = [{"a": [{"a1": [{"id0": [{"aa": [{"aaa": 97}, {"aab": "one"}], "ab": [{"aba": 97}, {"abb": ["one", "two"]}]}]}, {"id1": [{"aa": [{"aaa": 23}]}]}]}, {"a2": []}]}, {"b": [{"b1": [{"Common": [{"bb": [{"value": 4}]}]}]}]}]
Run Code Online (Sandbox Code Playgroud)

我需要将其写入 csv(或 .xlsx 文件)

到目前为止我尝试过什么?

data_file = open('data_file.csv', 'w')
csv_writer = csv.writer(data_file)
for row in data:
  csv_writer.writerow(row)
data_file.close() 
Run Code Online (Sandbox Code Playgroud)

这给出了一个空文件“data_file.csv”。

另外我如何将标题添加到 CSV。我将标题存储在列表中,如下所示

hdrs = ['Section', 'Subsection', 'pId', 'Group', 'Parameter', 'Value'] 
Run Code Online (Sandbox Code Playgroud)

- 这对应于五个级别的键

预期的 CSV 输出

+---------+------------+--------+-------+-----------+----------+
| Section | Subsection |  pId   | Group | Parameter |  Value   |
+---------+------------+--------+-------+-----------+----------+
| …
Run Code Online (Sandbox Code Playgroud)

python csv json xlsx

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

Netezza SQL将VARCHAR转换为二进制字符串

VARCHAR在Netteza中存储了一个位图.需要将其转换VARCHAR为Netezza中的二进制字符串.

输入(Netezza col值 - VARCHAR)='0xFFFFFFFFFFFFFFFF'

期望的输出(VARCHAR) - >

'1111111111111111111111111111111111111111111111111111111111111111'
Run Code Online (Sandbox Code Playgroud)

有没有办法使用Netezza查询?

我试过了

SELECT CAST('0xFFFFFFFFFFFFFFFF' AS VARBINARY(64) ); 
Run Code Online (Sandbox Code Playgroud)

但是这会引发错误

错误[HY000]错误:无法将"VARCHAR"类型强制转换为"VARBINARY"

sql netezza

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

JavaScript 数组中 RGB 值的颜色

使用 JavaScript 从 RGB 颜色创建颜色的首选方法是什么,以便可以将它们用于以 CSS 颜色的形式设置元素样式,如下所示。

document.getElementById("some_id").style.color = "some_value"
Run Code Online (Sandbox Code Playgroud)

下面的例子:

const colorsCbfRainbowRGB = {
  violet: [120,28,129],
  indigo: [64,67,153],
  blue: [72,139,194],
  green: [107,178,140],
  olive: [159,190,87],
  yellow: [210,179,63],
  orange: [231,126,49],
  red: [217,33,32]
}
Run Code Online (Sandbox Code Playgroud)

javascript css dom colors

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

为一个字段的每个不同值查找第一个文档

随着与领域文档的集合field1field2field3等等,我需要找到

  1. 不同的值 field3
  2. 对于 的每个不同值field3,需要获取具有每个不同值的第一个文档field3

对于#1,我可以做 db.myCollection.distinct("field3")

我怎么去#2?

样品采集:

[
    { "field1": 11, "field2": "toyota", "field3": "camry" },
    { "field1": 22, "field2": "toyota", "field3": "corolla" },
    { "field1": 33, "field2": "toyota", "field3": "camry" },
    { "field1": 44, "field2": "honda", "field3": "accord" },
    { "field1": 55, "field2": "honda", "field3": "accord" },
    { "field1": 66, "field2": "honda", "field3": "city" }
]
Run Code Online (Sandbox Code Playgroud)

想要的结果:

[
    { "field1": 11, "field2": "toyota", "field3": "camry" },
    { "field1": …
Run Code Online (Sandbox Code Playgroud)

mongodb mongodb-query aggregation-framework

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

遍历数据框列表并改变列

对于如下所示的数据框,我想使用 for 循环遍历每个数据框并添加一些新列 say new&new1到数据框d1d2. 以下是我尝试过的。

d1 <- data.frame(y1 = c(1, 2, 3), y2 = c(4, 5, 6))
d2 <- data.frame(y1 = c(3, 2, 1), y2 = c(6, 5, 4))
my.list <- list(d1, d2)

for(df in my.list) {
  df$new <- df$y1 + df$y2
  df$new1 <- df$y1 - df$y2
}
Run Code Online (Sandbox Code Playgroud)

但是,当我查看原始数据框时d1d2它们没有显示新的 col new

> colnames(d1)
[1] "y1" "y2"
> colnames(d2)
[1] "y1" "y2"
Run Code Online (Sandbox Code Playgroud)

我如何获得有关获取添加到原始数据帧新的列d1d2

r

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

Ruby MongodB - 在处理多个集合时提高速度

我使用mongogem 使用MongoDB和Ruby .

我有以下场景:

  1. 对于集合中的每个文档说coll1,看看key1key2
  2. 在另一个集合中搜索文档,并coll2为其匹配值key1key2
  3. 如果匹配,则添加在#2中获取的文档,其中新键key3的值设置为key3#1中引用的文档中的值
  4. 将更新的哈希插入新集合中 coll3

MongoDB的一般准则是处理应用程序代码中的交叉收集操作.

所以我做了以下事情:

    client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => some_db, 
                               :server_selection_timeout => 5)
    cursor = client[:coll1].find({}, { :projection => {:_id => 0} }) # exclude _id
    cursor.each do |doc|
        doc_coll2 = client[:coll2].find('$and' => [{:key1 => doc[:key1]}, {:key2 => doc[:key2] }]).limit(1).first # no find_one method
        if(doc_coll2 && doc[:key3])
            doc_coll2[:key3] = doc[:key3]
            doc_coll2.delete(:_id) # remove key :_id
            client[:coll3].insert_one(doc_coll2) …
Run Code Online (Sandbox Code Playgroud)

ruby mongodb

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

ggplot在geom tile的每个tile中添加文本

使用df下面的数据框

df <- data.frame(
  model=c(rep('corolla',3),rep( 'accord',3), rep('sunny',3)),
  variable=c('urban_mileage', 'rural_mileage', 'highway_mileage'),
  rescale=rnorm(9),
  year=c(rep(1998,3),rep( 1997,3), rep(2003,3)),
  kmdone=sample(10:100,9)*1e3
  )
> df
    model        variable     rescale year kmdone
1 corolla   urban_mileage -1.03675182 1998  56000
2 corolla   rural_mileage  1.06079162 1998  83000
3 corolla highway_mileage -0.18808551 1998  19000
4  accord   urban_mileage -0.05151496 1997  69000
5  accord   rural_mileage  0.05219512 1997  54000
6  accord highway_mileage -2.03139240 1997  21000
7   sunny   urban_mileage -0.06225862 2003  40000
8   sunny   rural_mileage  1.38191440 2003  96000
9   sunny highway_mileage -1.02367124 2003  55000
> …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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