我想使用SAS libname JSON引擎而不是PROC GROOVY来导入从Twitter API获得的JSON文件。我在OpenSuse LEAP 42.3上运行SAS 9.4M4。
我按照Falko Schulz的描述来访问Twitter API,一切都很好。到目前为止,我想将JSON文件导入SAS。因此,代码的最后一个工作行是:
proc http method="get"
out=res headerin=hdrin
url="https://api.twitter.com/1.1/search/tweets.json?q=&TWEET_QUERY.%nrstr(&)count=1"
ct="application/x-www-form-urlencoded;charset=UTF-8";
run;
Run Code Online (Sandbox Code Playgroud)
这会在文件名“ res”引用的文件中生成一个json文件。
Falko Schulz使用PROC GROOVY。但是,在SAS 9.4M4中,有一个神秘的JSON libname引擎使生活变得更轻松。它适用于简单的JSON文件。但不适用于Twitter数据。因此,使用以下方法从Twitter下载了JSON数据:
libname test JSON filref=res;
Run Code Online (Sandbox Code Playgroud)
给我以下错误:
第1行第751行附近的输入中的JSON无效:某些代码点未转码。
我怀疑文件的编码有问题,因此我使用了以下形式的文件名语句:
filename res TEMP encoding="utf-8";
Run Code Online (Sandbox Code Playgroud)
没有运气...
我也尝试增加记录长度
filename res TEMP encoding="utf-8" lrecl=1000000;
Run Code Online (Sandbox Code Playgroud)
并以记录格式播放...无济于事...
有人可以帮忙吗?我想念什么?如何在LIBNAME语句中使用JSON引擎而不遇到此错误?
假设我生成了一个frozenset
A = frozenset(frozenset([element]) for element in [1,2,3])
Run Code Online (Sandbox Code Playgroud)
我有空集
E = frozenset(frozenset())
Run Code Online (Sandbox Code Playgroud)
现在我想要两个集合的并集:
U = A | E
Run Code Online (Sandbox Code Playgroud)
这给了我
frozenset({frozenset({2}), frozenset({3}), frozenset({1})})
Run Code Online (Sandbox Code Playgroud)
这假设,包含空的frozenset 的frozenset 本身是空的。但是,我想拥有
frozenset({frozenset({}), frozenset({2}), frozenset({3}), frozenset({1})})
Run Code Online (Sandbox Code Playgroud)
所以,我想将空集显式添加到集合中。例如,在我看来,在构建幂集时这是必要的吗?
那么:一个只包含空集本身的集合族是空的吗?在 Python 中,有没有一种方法可以使用变量类型set和frozenset?