替换大型 txt 文件中的字符

Replace character in large txt file

我有一系列 .txt 文件需要上传到 Google 云,以便在 BigQuery 中从中创建一些 table。这些文件是 tables,其分隔符是 ';'。

出于某种原因,当文件处于这种形状时,BigQuery 似乎在识别列(自动或不自动)方面存在问题,即使指定“;”也是如此。作为分隔符。

我生成了一个示例 table,并查找并替换了“;”用一些 ',' 并将文件保存为 .csv。现在 BigQuery 在创建 apt table.

时没有问题

问题: 我应该查找并替换所有 table 中的所有分隔符吗?还是我遗漏了什么?

如果是,我如何在 OS 10 上执行 sep 提示命令? (文件很大,我在用 UltraEdit 及时替换字符时遇到问题)

最好!

要解决此问题 - 您可以上传只有一列的文件,然后在 BigQuery 中拥有数据后 - 使用 SQL 将其解析为您需要的任何模式。我认为这是处理此问题的最通用和最简单的方法。通常 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`   

结果

Row col1    col2    col3     
1   aa,a    bbb     ccc