无法将csv表的DATEs列导入到BigQuery中

问题描述 投票:-1回答:2

我无法导入csv表> DATEs列到BigQuery,无法识别DATE,即使它们具有正确的格式,也符合此文档https://cloud.google.com/bigquery/docs/schema-detectYYYY-MM-DD

因此DATEs列无法识别,并重命名为_2020-0122、2020-01-23 ...是DATES在第一行作为列名的问题吗?但是,当我想在TimeSeries Charts(DataStudio)中使用日期时,该如何导入日期呢?


这里是示例源csv>

Province/State,Country/Region,Lat,Long,2020-01-22,2020-01-23,2020-01-24,2020-01-25,2020-01-026
Anhui,China,31.8257,117.2264,1,9,15,39,60
Beijing,China,40.1824,116.4142,14,22,36,41,68
Chongqing,China,30.0572,107.874,6,9,27,57,75

这里是Bigquery的igenter image description here

csv google-bigquery google-data-studio
2个回答
1
投票

如果天数有限,则可以在使用数据透视表时尝试使用它。参见blog post.

否则,如果您不知道csv文件中有多少天列。选择一个唯一字符作为csv定界符,然后将整个文件加载到单个列登台表中,然后使用split函数。您还需要unnest。这种方法需要全面扫描,并且成本更高,尤其是在文件变大时。


0
投票

问题是,在列名中不能具有日期类型[1],因此,导入CSV时,它将采用日期并将日期转换为带下划线的格式。

面对问题的第一种方法是修改CSV文件,因为任何以第一行作为标题的导入都将更改日期格式,然后将很难再次获得日期类型。如果您有任何编程语言的经验,则可以轻松完成转换。我可以帮助您完成此操作,但我不知道您的用例,因此可能无法实现。该CSV来自何处?

如果无法进行CSV先前的修改,那么第二个选项就是ktopcuoglu所说的,将整个文件作为一列导入,并使用SQL函数进行处理。这比第一个选项难得多,并且当您将所有数据导入到单个列中时,所有数据都将具有相同的数据类型,这也令人头疼。

[如果您能解释CSV的来源,我们可以在BigQuery提取它之前对其进行影响。否则,您需要稍微深入了解SQL。

希望有帮助!

[1] https://cloud.google.com/bigquery/docs/schemas#column_names


嗨,现在我可以为您提供进一步的帮助。

首先,我在公共bigquery数据集中找到了一些COVID数据集。您从github上获取的代码已经在BigQuery [1]中,但是还有许多其他代码可能更适合您的任务,例如在bigquery-public-data内部的一个名为“ covid19_ecdc”的代码。这最后一个按日期和国家/地区列出了确诊病例和死亡病例,因此应易于确定时间序列。

[其次,我发现了一个有趣的链接,执行您对python和data studio的含义。这是一次讨论讨论,所以您可能不熟悉,但是值得肯定地检查一下[2]。而且,他正在使用您要使用的数据集。

希望有帮助。不要犹豫,问!

[1] https://pantheon.corp.google.com/marketplace/details/johnshopkins/covid19_jhu_global_cases?_ga=2.121785995.-1201206137.1584215642

[2] https://www.kaggle.com/sudalairajkumar/novel-corona-virus-2019-dataset/discussion/135823

© www.soinside.com 2019 - 2024. All rights reserved.