删除一些前面有 " 的行

Remove some rows with " in front

我有一个 CSV 文件,让我在进入 Tableau 时非常头疼。 CSV 中的一些行被包裹在一个“”中,有些则没有。我希望它们都在没有这个的情况下导入(即在有它的行上忽略它)。

一些数据:

"1;2;Red;3"
1;2;Green;3
1;2;Blue;3
"1;2;Hello;3"

你有什么建议吗?

如果您有一个 bash 提示挂在身边...

您可以使用 cat 输出文件内容,以确保您使用的是正确的数据:

cat filename.csv

然后,通过 sed 将其通过管道传输,以便您可以直观地检查引号是否已删除:

cat filename.csv | sed 's/"// g'

如果输出看起来不错,请使用 -i 标志就地编辑文件:

sed -i 's/"// g' filename.csv

现在应该从 filename.csv

中删除所有引号

如果您的数据中有引号,并且您只想去除出现在每行开头和结尾的引号,您可以改用此方法:

sed -i 's/^"\(.*\)"$//' filename.csv

这不是在 Tableau 中执行此操作的最优雅方法,但如果您无法在源文件中删除它,您可以为第一列和最后一列创建一个计算字段,去掉引号。

  1. 右键单击第一列的字段选择 Create/Calculated 字段
  2. 使用这个公式:INT(REPLACE([FirstColumn],'"',''))
  3. 相应地命名列
  4. 对最后一列执行相同的操作

假设您提供的数据适合您处理的数据。假设这些字段是整数字段(因此使用 INT())。如果它们是字符串字段,您需要确保不删除属于字段值的引号。