这似乎是一个错误。
在Google的几年前。 google代表在a
当前的方法表。getNamedRanges()返回表上的每个命名范围(有效和无效)(...)以示例性这种行为我创建了一个带有三个范围的新表格,我删除了两个列的列这些范围使它们无效。然后,我根据所述解决方案编写了此代码:
//(某些代码和某些日志)
无效的名为范围与有效的范围很容易区分。请尝试复制这种方法,如果它无助于分享您如何创建无效的范围和使用的代码,以便我可以继续调查此方法。
您可以转到代码示例的线程,但从本质上讲,他表明 getNamedRanges()
确实返回了“无效”范围, #ref
error。这不是完全错误的,只是他通过删除列而不是工作表进行了测试。鉴于他的解释,看来该方法应列出所有无效的范围,以便可以处理它们,因此它不会在删除板中列出范围的事实似乎确实是一种监督或错误。不幸的是,该线程死亡,因为之后几乎没有活动。
我还尝试了其他一些可能的解决方法,没有成功:
- getSheets() 方法似乎没有跟踪已删除的床单,以查看我们是否可以将它们直接引用到搜索范围。
-
getrangebyname()
null
即使您想直接按名称搜索。 - 如Themaster的高级服务通过运行
sheets.spreadsheets.get()
) ,它还仅列出了未删除的床单的名为ranges
。鉴于这与“纯” API所说的几乎相同,似乎它不仅是应用程序脚本问题。您还可以在Google的 apis explorer )中对其进行测试。
我的建议是转到 earke tracker 一个href =“ https://issuetracker.google.com/issues/new?component = 191608&无论哪种方式,修复可能需要一段时间,因此与此同时,您可能必须在代码中考虑此问题,并在删除表格之前删除命名范围。
- 将IDE与集成调试器(如Pycharm)一起使用。
- 在产生错误调试的代码线处设置一个断点
- - 它将在断点停止,然后您将看到所有变量
就我而言,现在使用 UNNEX
现在起作用。结果看起来像这样:
INSERT INTO setting_sales_channel (sales_channel_id)
SELECT UNHEX(sales_channel_id) from setting;
昨天我遇到了这个问题,很可能是同一回事。
我禁用了 websecurityConfigurerAdapter
的类中的CSRF,以使其工作。如果您要进入生产,则可能应该使其启用。
我的 websecurityconfig
类:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests()
.antMatchers("/").permitAll();
}
}
我不完全了解CSRF保护是如何保护的,因此如果您尝试从浏览器登录,可能会有问题。输出 .csrf()。disable()
假设 wall_area
是一个浮点号,它很简单:
gallons_paint = wall_area/350
就我而言,我通过为Google BigQuery客户端提供证书来解决问题。
检查下面的代码。
# https://googleapis.dev/python/google-api-core/latest/auth.html
from google.oauth2 import service_account
json_account_info = #{service_account_info}
credentials = service_account.Credentials.from_service_account_info(
json_account_info)
...
from google.cloud import bigquery
client = bigquery.Client(credentials=credentials)
sql="select * from austin_311.311_service_requests"
query_job=client.query(sql)
使用 > with dict coldection
pracsions :
In [1664]: video_items_df['breakdown'] = video_items_df.breakdown.apply(lambda x: {k: v or '' for (k,v) in x[0].items()})
In [1665]: video_items_df.breakdown[0]
Out[1665]:
{'platform': 'facebook',
'total': 18463,
'likes': 9436,
'shares': 5581,
'comments': 608,
'tweets': '',
'favorites': '',
'hahas': 1049,
'wows': 170,
'loves': 1554,
'sads': 44,
'angrys': 21}
Ampiz635 答案是正确的。您需要添加一个构造函数和 toString
的覆盖。
record
You can get both of those by defining your class as a
在记录中,编译器隐含地创建了构造函数,getters, equals
& HashCode
和 toString
。
顺便说一句,您应该比 data
设计一个更具描述性的类名。
record Data ( String id , String code ) {}
仅供参考,可以在方法中本地定义记录,也可以定义在类中嵌套,也可以在其自己的 .java
文件中为自己的类定义。
示例用法。
String[] parts = line.split( " " ) ;
Data d = new Data( parts[0] , parts[1] ) ;
results.add( d ) ;
在您的API响应中,有一个画廊对象列表,因此您必须穿越所有内容。
User.fromJson(Map<String, dynamic> json) {
json = json['data'];
id = json['id'];
pictureUrl = json['picture_url'];
emailConfirmed = json['email_confirmed'];
if (json['gallery'] != null) {
gallery = <Gallery>[];
json['gallery'].forEach((v) {
gallery!.add(new Gallery.fromJson(v));
});
}
updatedAt = json['updated_at'];
createdAt = json['created_at'];
}
有多种工具可以帮助您创建该.fromjson方法,例如 this 。在那里粘贴您的JSON,它将为您生成Dart代码,真的对我有帮助。
用法应该这样:
User user = User.fromJson(yourApiResponseJson);
print(user.id);
print(user.gallery); //prints entire list of gallery
print(user.gallery.first.url); //prints only first object url
启动仅被调用一次,当对象实例化时,您应该将代码移至更新()或更好地使用InputField的valuechanged事件:
void Start(){
convertInput.onValueChanged.AddListener(HandleValueChanged);
}
void HandleValueChanged(string newValue){
int d = int.Parse("0"+newValue);
}
使用工作表和嵌套迭代的替代方案:
DROP TABLE IF EXISTS #Work;
SELECT
TT.*,
jsn = CONVERT(nvarchar(max), NULL)
INTO #Work
FROM #tTree AS TT;
CREATE UNIQUE CLUSTERED INDEX cuq ON #Work (depth, parentId, id);
DECLARE @depth integer = (SELECT MAX(TT.depth) FROM #tTree AS TT);
WHILE @depth >= 1
BEGIN
UPDATE W
SET W.jsn =
(
SELECT
W.*,
children =
JSON_QUERY
(
(
SELECT
N'[' +
STRING_AGG(W2.jsn, N',')
WITHIN GROUP (ORDER BY W2.id) +
N']'
FROM #Work AS W2
WHERE
W2.depth = @depth + 1
AND W2.parentId = W.id
)
)
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
)
FROM #Work AS W
WHERE
W.depth = @depth
AND W.jsn IS NULL;
SET @depth -= 1;
END;
SELECT
N'[' +
STRING_AGG(W.jsn, N',')
WITHIN GROUP (ORDER BY W.id) +
N']'
FROM #Work AS W
WHERE
W.depth = 1;
以下仅适用于年度,但是您可以使用适当的案例逻辑进行扩展:
基于此答案
The following only accommodates Annual, but you can expand it with appropriate CASE logic:
Based on an idea at this answer
如何在12个月度记录中拆分年度记录