我想加载这个.csv
文件下面的谷歌BigQuery。
文件data_transportasi_kajarta.csv
:
bulan;tahun;jenis;kode_trayek;trayek;jumlah_penumpang
Januari;2019;BRT;1;KORIDOR 1;2223257
Januari;2019;BRT;2;KORIDOR 2;781605
Januari;2019;BRT;3;KORIDOR 3;919.2
Januari;2019;BRT;4;KORIDOR 4;669417
Januari;2019;ANGKUTAN UMUM LAINNYA ;GR1;BUNDARAN SENAYAN - HARMONI (BUS GRATIS);364618
Januari;2019;ANGKUTAN UMUM LAINNYA ;;RAGUNAN - SMK 57;1927
Januari;2019;ANGKUTAN UMUM LAINNYA ;;MARUNDA-RAGUNAN;112
Januari;2019; ANGKUTAN INTEGRASI BUS KECIL ;JAK-1;TANJUNG PRIOK-PLUMPANG;56764
Januari;2019; ANGKUTAN INTEGRASI BUS KECIL ;JAK-2;DUREN SAWIT - KAMPUNG MELAYU;56551
Januari;2019; ANGKUTAN INTEGRASI BUS KECIL ;JAK-3;LEBAK BULUS - PONDOK LABU;43344
...
...
...
但是,我刚刚意识到,当我像bellow一样将分号;
设置为分隔符时,它不会删除前导和尾随空格。
BigQuery中实际创建的表结果:
| bulan | tahun | jenis | kode_trayek | trayek | jumlah_penumpang |
|---------+-------+-------------------------------+-------------+-----------------------------------------+------------------|
| Januari | 2019 | BRT | 1 | KORIDOR 1 | 2223257 |
| Januari | 2019 | BRT | 2 | KORIDOR 2 | 781605 |
| Januari | 2019 | BRT | 3 | KORIDOR 3 | 919.2 |
| Januari | 2019 | BRT | 4 | KORIDOR 4 | 669417 |
| Januari | 2019 | ANGKUTAN UMUM LAINNYA | GR1 | BUNDARAN SENAYAN - HARMONI (BUS GRATIS) | 364618 |
| Januari | 2019 | ANGKUTAN UMUM LAINNYA | null | RAGUNAN - SMK 57 | 1927 |
| Januari | 2019 | ANGKUTAN UMUM LAINNYA | null | MARUNDA-RAGUNAN | 112 |
| Januari | 2019 | ANGKUTAN INTEGRASI BUS KECIL | JAK-1 | TANJUNG PRIOK-PLUMPANG | 56764 | <----- in column `jenis` there is a leading white space
| Januari | 2019 | ANGKUTAN INTEGRASI BUS KECIL | JAK-2 | DUREN SAWIT - KAMPUNG MELAYU | 56551 | <----- in column `jenis` there is a leading white space
| Januari | 2019 | ANGKUTAN INTEGRASI BUS KECIL | JAK-3 | LEBAK BULUS - PONDOK LABU | 43344 | <----- in column `jenis` there is a leading white space
我对创建表结果的期望
| bulan | tahun | jenis | kode_trayek | trayek | jumlah_penumpang |
|---------+-------+------------------------------+-------------+-----------------------------------------+------------------|
| Januari | 2019 | BRT | 1 | KORIDOR 1 | 2223257 |
| Januari | 2019 | BRT | 2 | KORIDOR 2 | 781605 |
| Januari | 2019 | BRT | 3 | KORIDOR 3 | 919.2 |
| Januari | 2019 | BRT | 4 | KORIDOR 4 | 669417 |
| Januari | 2019 | ANGKUTAN UMUM LAINNYA | GR1 | BUNDARAN SENAYAN - HARMONI (BUS GRATIS) | 364618 |
| Januari | 2019 | ANGKUTAN UMUM LAINNYA | null | RAGUNAN - SMK 57 | 1927 |
| Januari | 2019 | ANGKUTAN UMUM LAINNYA | null | MARUNDA-RAGUNAN | 112 |
| Januari | 2019 | ANGKUTAN INTEGRASI BUS KECIL | JAK-1 | TANJUNG PRIOK-PLUMPANG | 56764 | <----- in column `jenis` there is NO leading white space
| Januari | 2019 | ANGKUTAN INTEGRASI BUS KECIL | JAK-2 | DUREN SAWIT - KAMPUNG MELAYU | 56551 | <----- in column `jenis` there is NO leading white space
| Januari | 2019 | ANGKUTAN INTEGRASI BUS KECIL | JAK-3 | LEBAK BULUS - PONDOK LABU | 43344 | <----- in column `jenis` there is NO leading white space
是否可以在上传设置中设置多个自定义分隔符/分隔符?因此,我可以有两个或更多的分隔符,例如:;
、;
和;
如果有可能做到,我怎样才能做到呢?
1条答案
按热度按时间7y4bm7vi1#
不幸的是,在BigQuery中,我不相信你可以使用多个自定义分隔符/分隔符,因为它没有OR逻辑,它的目的是加载数据,而不是转换数据。
如果您肯定不想使用
TRIM
函数在Bigquery中转换数据,并且无法在源位置清理数据,那么另一个选择是使用python
和trim
之类的程序,同时上传数据。这些指向链接包含执行此操作所需的代码段
https://www.digitalocean.com/community/tutorials/python-trim-string-rstrip-lstrip-strip
https://towardsdatascience.com/how-to-upload-data-to-google-bigquery-using-python-in-3-steps-7138ae625fe3