删除一些前面有 " 的行
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 中执行此操作的最优雅方法,但如果您无法在源文件中删除它,您可以为第一列和最后一列创建一个计算字段,去掉引号。
- 右键单击第一列的字段选择 Create/Calculated 字段
- 使用这个公式:
INT(REPLACE([FirstColumn],'"',''))
- 相应地命名列
- 对最后一列执行相同的操作
假设您提供的数据适合您处理的数据。假设这些字段是整数字段(因此使用 INT())。如果它们是字符串字段,您需要确保不删除属于字段值的引号。
我有一个 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 中执行此操作的最优雅方法,但如果您无法在源文件中删除它,您可以为第一列和最后一列创建一个计算字段,去掉引号。
- 右键单击第一列的字段选择 Create/Calculated 字段
- 使用这个公式:
INT(REPLACE([FirstColumn],'"',''))
- 相应地命名列
- 对最后一列执行相同的操作
假设您提供的数据适合您处理的数据。假设这些字段是整数字段(因此使用 INT())。如果它们是字符串字段,您需要确保不删除属于字段值的引号。