小编cda*_*bel的帖子

如何知道 Redshift 查询返回值的类型?

pg_typeof()在 PostgreSQL 中,您可以使用SELECT 语句中的函数来获取 SQL 查询返回值的数据类型。

尽管 Redshift 有 SQL 沿袭,但 Redshift 中不存在此函数。

我想做这个:

SELECT pg_typeof(0.25::numeric(5,2)) ;

并得到:

numeric(5,2)

如何获取 SQL 查询返回值的数据类型?这是为了帮助我对 ETL 开发进行单元测试。

sql amazon-redshift

9
推荐指数
1
解决办法
5146
查看次数

将 Pandas DataFrame 和元数据保存为 JSON 格式

我需要将 Pandas DataFrame 以及一些元数据保存到 JSON 格式的文件中。(JSON 格式是必需的。)

背景
A)我可以使用DataFrame.to_json()和成功地从/向 JSON 读取/写入我相当大的 Pandas 数据帧DataFrame.from_json()。没问题。

B)我使用json.dump()/将元数据 (dict) 保存到 JSON 没有问题json.load()


我的第一次尝试
由于 Pandas 不直接支持 DataFrame 元数据,我的第一个想法是

top_level_dict = {}
top_level_dict['data'] = df.to_dict()
top_level_dict['metadata'] = {'some':'stuff'}
json.dump(top_level_dict, fp)
Run Code Online (Sandbox Code Playgroud)


故障模式
C) 我发现即使是简化的情况

df_dict = df.to_dict()
json.dump(df_dict, fp)
Run Code Online (Sandbox Code Playgroud)

失败:

TypeError: key (u'US', 112, 5, 80, 'wl') is not a string
Run Code Online (Sandbox Code Playgroud)

D)调查,我发现补体也失败了。

df.to_json(fp)
json.load(fp)
Run Code Online (Sandbox Code Playgroud)

失败

384             raise ValueError("No JSON object could be decoded")
ValueError: Expecting : …
Run Code Online (Sandbox Code Playgroud)

json python-2.7 pandas

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

标签 统计

amazon-redshift ×1

json ×1

pandas ×1

python-2.7 ×1

sql ×1