谷歌表格:从网站导入德国十进制数字
Posted
技术标签:
【中文标题】谷歌表格:从网站导入德国十进制数字【英文标题】:Google sheets: import German decimal numbers from website 【发布时间】:2021-01-13 14:27:11 【问题描述】:我正在使用IMPORThtml
将网页中的表格读入谷歌表格。事实上,我只对所述表格的单个条目感兴趣(如果有更好的方法可以随意分享^^),一个数字。
问题在于该网站是德语的,其中,
用作小数分隔符而不是.
。我可以替换这个没问题,除非数量小于一个。假设号码是0,54
。谷歌表格将加载它,将其识别为数字并丢弃零和逗号,只给我54
。但是,54
也是一个可能的值,所以我无法知道哪个值是正确的。
有没有办法告诉谷歌将表格内容加载为字符串,或者不改变它?
将我的谷歌文档切换为德语不是一种选择,因为那时我必须在所有命令中使用;
、\
和其他分隔符...
这是我用来获取值的命令,除非数字有前导零,否则它可以工作:
=VALUE(SUBSTITUTE(query(query(IMPORTHTML("https://www.boerse.de/dividenden/ATundT-Aktie/US00206R1023","table",3),"Select * OFFSET 1",0),"Select Col2 where Col1='2021'"),",","."))
已经感谢您的帮助。
编辑:添加示例 URL 并调用中断。
【问题讨论】:
【参考方案1】:全表:
=ARRAYFORMULA(SUBSTITUTE(REGEXREPLACE(
QUERY(ARRAY_CONSTRAIN(TO_TEXT(IMPORTDATA(A1)), 6000, 1),
"where Col1 matches '<td>\d.*</td>'"), QUERY(FLATTEN(QUERY(TRANSPOSE(
QUERY(ARRAY_CONSTRAIN(TO_TEXT(IMPORTDATA(A1)), 6000, 2),
"where Col1 matches '<td class=.alignright.*'")),,9^9)),
"where Col1 contains '</td>'"), "<\/\w+>|<\w+.*?>|.$", ), " ", "."))
然后像这样查询它:
=ARRAYFORMULA(QUERY(SUBSTITUTE(REGEXREPLACE(
QUERY(ARRAY_CONSTRAIN(TO_TEXT(IMPORTDATA(A1)), 6000, 1),
"where Col1 matches '<td>\d.*</td>'"), QUERY(FLATTEN(QUERY(TRANSPOSE(
QUERY(ARRAY_CONSTRAIN(TO_TEXT(IMPORTDATA(A1)), 6000, 2),
"where Col1 matches '<td class=.alignright.*'")),,9^9)),
"where Col1 contains '</td>'"), "<\/\w+>|<\w+.*?>|.$", ), " ", "."),
"select Col2 where Col1 = '2021'")*1)
【讨论】:
同样的结果,不幸的是。但我了解到你可以在命令中重复多行,所以已经谢谢你了。 :) 编辑:或者你可以吗?我可以复制你的东西,它会保留在多行中,但我不能在命令字段中进行换行... 你能分享一个网址吗? 我目前用这个做测试,其他的都差不多:boerse.de/dividenden/ATundT-Aktie/US00206R1023 2021的值小于1,弄坏了我的东西…… 哦,哇,那个看起来很复杂...但它确实有效,非常感谢。 :)【参考方案2】:我认为更简单的方法是使用“欧洲下载表”
创建一个新的电子表格,然后文件>电子表格设置并将区域设置更改为德国。然后将常规的旧 IMPORTHTML 代码放入单元格 A1:
=IMPORTHTML("https://www.boerse.de/dividenden/ATundT-Aktie/US00206R1023";"table";3)
然后回到您的“非欧洲”工作表,您可以使用如下导入范围对另一个工作表运行常规 vlookup:
=VLOOKUP(2021,IMPORTRANGE(["sheet key"],["tab name!A:B"]),2,0))
在此之前,您需要“授权”工作表之间的连接。最简单的方法是调用源工作表上的随机单元格,以便系统提示您“允许访问”。
类似:
=IMPORTRANGE(["sheet key"],["tab name!A1"])
也许您可以将其他欧洲进口产品保留在该表上,以便您需要进行任何其他欧洲刮擦。
【讨论】:
以上是关于谷歌表格:从网站导入德国十进制数字的主要内容,如果未能解决你的问题,请参考以下文章
编写一个算法,将非负的十进制整数转换为其他进制的数输出,10及其以上的数字从‘A’开始的字母表示