小编A A*_*A A的帖子

在PostgreSQL中选择jsonb列的值

我有一个表'Documents',其中有一个'Tags'列,'jsonb'数据类型.标签列中的示例数据

 [{"Tag": "Social Media"}, {"Tag": "Adobe Creative"}]
 [{"Tag": "Interactive"}]
 [{"Tag": "Web 2.0"}, {"Tag": "Adobe Creative"},{"Tag": "Suite"}]
Run Code Online (Sandbox Code Playgroud)

我需要得到"标签"的不同值

 Social Media 
 Adobe Creative
 Interactive
 Web 2.0
 Suite
Run Code Online (Sandbox Code Playgroud)

我是PostgreSQL的新手.

postgresql jsonb

7
推荐指数
3
解决办法
6045
查看次数

KeyError :('count','发生在索引0')

我正在尝试使用Python和Pandas中的示例来创建D3 Force Directed Network Diagram

但在下面的行中我得到一个错误'KeyError :('count','发生在索引0')'

 temp_links_list = list(grouped_src_dst.apply(lambda row: {"source": row['source'], "target": row['target'], "value": row['count']}, axis=1))
Run Code Online (Sandbox Code Playgroud)

我是python的新手.这是什么问题?

编辑过的代码

import pandas as pd
import json
import re

pcap_data = pd.read_csv('C:\packet_metadata.csv', index_col='No.')
dataframe = pcap_data
src_dst = dataframe[["Source","Destination"]]
src_dst.rename(columns={"Source":"source","Destination":"target"}, inplace=True)
grouped_src_dst = src_dst.groupby(["source","target"]).size().reset_index()
grouped_src_dst.rename(columns={'count':'value'}).to_dict(orient='records')
unique_ips = pd.Index(grouped_src_dst['source']
                  .append(grouped_src_dst['target'])
                  .reset_index(drop=True).unique())
Run Code Online (Sandbox Code Playgroud)

print(grouped_src_dst.columns.tolist())
['source', 'target', 0]
Run Code Online (Sandbox Code Playgroud)

最终代码

import pandas as pd
import json
import re

pcap_data = pd.read_csv('C:\packet_metadata.csv', index_col='No.')
dataframe = pcap_data
src_dst = dataframe[["Source","Destination"]]
src_dst.sample(10)
grouped_src_dst = src_dst.groupby(["Source","Destination"]).size().reset_index() …
Run Code Online (Sandbox Code Playgroud)

python-3.x pandas d3.js

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

docker:来自守护进程的错误响应:系统上启用了 AppArmor,但无法加载 docker-default 配置文件

我按照官方网站上描述的安装过程在 ubuntu 19.04 上安装了 docker-ce 19.03.3。安装效果很好。但是当我想通过创建一个容器来测试时,

我有这个错误:

Error response from daemon: AppArmor enabled on system but the docker-default profile could not be loaded
Run Code Online (Sandbox Code Playgroud)

跑步 /usr/sbin/apparmor_parser apparmor_parser -Kr /var/lib/docker/tmp/docker-default911109442

输出失败:

'AppArmor parser error for /var/lib/docker/tmp/docker-default911109442 in /etc/apparmor.d/tunables/global at line 17: Could not open 'tunables/proc'
Run Code Online (Sandbox Code Playgroud)

`

ubuntu apparmor docker

5
推荐指数
4
解决办法
6217
查看次数

更新PostgreSQL中的jsonb数据中的多个值

我需要在我的表'settings'中更新jsonb数据(column-> users)我的jsonb数据就像

'{
    "Email": "aaaa",
    "UserId": "49",
    "Created": "11/13/2016",
    "EntityId": "1",
    "IsActive": "False",
    "Modified": "11/13/2016",
    "Username": "aa"
}' 
Run Code Online (Sandbox Code Playgroud)

在这个json字符串中,我需要一起更新Email,IsActive,Username.我尝试了下面的更新查询,它的工作正常.但这是单值更新.

UPDATE settings 
SET users = jsonb_set(users, '{Email}', '"aa"') 
WHERE users @> '{"UserId":"49"}';
Run Code Online (Sandbox Code Playgroud)

如何更新多值更新?我正在使用postgres 9.5.

postgresql json jsonb

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

在 postgresql 中将 jsonb 值转换为 varchar

我有一个类似的查询

SELECT DISTINCT (value->'Tag') AS tagname 
FROM documents, 
     jsonb_array_elements(documents.Tags)
Run Code Online (Sandbox Code Playgroud)

所以标记名是一个 jsonb 值。我需要将该标记名转换为 varchar。我怎么做那个演员?

文档表中标签列中的样本数据是

'[{"Tag":"Web 2.0"},{"Tag":"Adobe Creative"},{"Tag":"Suite"}]'
Run Code Online (Sandbox Code Playgroud)

我正在研究 java jpa。我尝试了本机查询

Query query = this.em.createNativeQuery(
            "select distinct (value->'Tag')::varchar as tags from documents, jsonb_array_elements(documents.Tags)");
Run Code Online (Sandbox Code Playgroud)

但它的显示

Not all named parameters have been set:
Run Code Online (Sandbox Code Playgroud)

sql postgresql jpa

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

标签 统计

postgresql ×3

jsonb ×2

apparmor ×1

d3.js ×1

docker ×1

jpa ×1

json ×1

pandas ×1

python-3.x ×1

sql ×1

ubuntu ×1