我有一个表'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的新手.
我正在尝试使用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) 我按照官方网站上描述的安装过程在 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)
`
我需要在我的表'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.
我有一个类似的查询
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)