小编Cli*_*Dog的帖子

Golang相当于Python的struct.pack/struct.unpack

在Python中,使用该struct模块,我可以执行类似这样的操作来获取值的压缩表示形式:

import struct
print struct.pack('L', 64)
"@\x00\x00\x00\x00\x00\x00\x00"
struct.unpack('L', '@\x00\x00\x00\x00\x00\x00\x00')
(64,)
Run Code Online (Sandbox Code Playgroud)

我想在Go做类似的事情,除非我对如何做到这一点有点不清楚.我知道我可以这样做:

import (
    "encoding/binary"
    "fmt"
)

bs := make([]byte, 8)
binary.PutUvarint(bs, uint64(64))
fmt.Printf("%s", bs)
"@"
Run Code Online (Sandbox Code Playgroud)

但那是非常不同的,可能不是我想要的.

go

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

正确的方法将bytea从Postgres转换回python中的字符串

我有一个小脚本,我正在生成SHA1哈希,通过hashlib的hexdigest获取二进制表示,并将它们存储在带有bytea列的Postgres DB中.我在Postgres(缩写)中有一个看起来像这样的查询:

SELECT * FROM some_table WHERE some_hash in decode(another_hash, 'hex')
Run Code Online (Sandbox Code Playgroud)

执行查询时,我有一些代码如下:

cur.execute(query)
for hash_rep in cur:
    print bhash
Run Code Online (Sandbox Code Playgroud)

现在,在该print语句中,它将打印出难以理解的字符,或者如果我将其更改为:

print str(psycopg2.Binary(bhash))
Run Code Online (Sandbox Code Playgroud)

我有类似的东西:

'\214p\203\030\017K\247\373o\253'::bytea
Run Code Online (Sandbox Code Playgroud)

将它转换回原始字符串的正确方法是什么?原始表示类似于"30d22d5d64efe4c5333e",我想将其恢复到原始字符串以进行比较.我不确定我是否遗漏了一些明显的东西,

python postgresql psycopg2 bytea

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

如何在数组大小大于1的postgres中获取数组

我有一个看起来像这样的表:

val | fkey | num
------------------
1   |  1   | 1
1   |  2   | 1  
1   |  3   | 1  
2   |  3   | 1 
Run Code Online (Sandbox Code Playgroud)

我想做的是返回一组行,其中值按'val'分组,并带有fkeys数组,但仅在fkeys数组大于1的情况下。因此,在上面的示例中,返回值将是看起来像:

1 | [1,2,3]
Run Code Online (Sandbox Code Playgroud)

我有以下查询聚合数组:

SELECT val, array_agg(fkey)
FROM mytable
GROUP BY val;
Run Code Online (Sandbox Code Playgroud)

但这返回类似:

1 | [1,2,3]
2 | [3]
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?我猜可能是将现有查询用作子查询,并对它进行求和/计数,但这似乎效率很低。任何反馈都将真正有帮助!

sql postgresql

3
推荐指数
2
解决办法
2766
查看次数

如何在matplotlib中绘制范围条形图?

我正在尝试使用 matplotlib 绘制类似于以下内容的图:

所需的图像类型

但是,我不太确定要使用哪种类型的图表。我的数据具有以下形式,其中起始 x 位置是大于或等于 0 的正值:

<item 1><start x position><end x position>
<item 2><start x position><end x position>
Run Code Online (Sandbox Code Playgroud)

查看文档,我看到有barherrorbar,但我不确定是否可以使用带有起始偏移量的 barh 。考虑到我的数据类型,最好的方法是什么?我对图书馆不太熟悉,所以我希望能了解一些。

python numpy matplotlib

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

标签 统计

postgresql ×2

python ×2

bytea ×1

go ×1

matplotlib ×1

numpy ×1

psycopg2 ×1

sql ×1