替换大文本文件中的字符

时间:2018-11-19 15:18:59

标签: csv google-bigquery character ultraedit

我有一系列.txt文件,需要将它们上传到Google Cloud,以便在BigQuery中从中创建一些表。这些文件是其分隔符为“;”的表。

由于某种原因,即使文件指定为这种形状,BigQuery似乎也无法识别列(自动或不自动)时出现问题。作为分隔符。

我生成了一个示例表,然后查找并替换了';'带有一些','并将文件另存为.csv。现在,BigQuery在创建apt表时没有问题。

问题: 是否应该查找并替换所有表中的所有分隔符?还是我错过了什么?

如果是,如何在OS 10上实现sep提示命令? (文件很大,我在使用UltraEdit时也无法及时替换字符)

最好!

1 个答案:

答案 0 :(得分:1)

要解决此问题-您可以上传仅包含一列的文件,然后在BigQuery中保存数据后-使用SQL将其解析为所需的任何模式。我认为这是处理此问题的最通用,最简单的方法。通常,new Foo()会在以下非常简化的示例中使用,或更复杂的情况下,SPLIT(col, ';')

REGEXP_EXTRACT_ALL()

有结果

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 'aa,a;bbb;ccc' col
)
SELECT 
  SPLIT(col, ';')[SAFE_OFFSET(0)] col1, 
  SPLIT(col, ';')[SAFE_OFFSET(1)] col2, 
  SPLIT(col, ';')[SAFE_OFFSET(2)] col3
FROM `project.dataset.table`