【发布时间】:2021-02-09 23:04:57
【问题描述】:
我正在处理以下列格式给出的几个多行 csv 填充(包含相等数量的行并共享第一列)的串联:
test_1200
lig2: -4.6600
lig5: -6.8100
lig8: -5.1900
lig76: -5.5700
lig88: -5.8500
lig123: -6.0600
lig177: -0.1400
lig331: -8.0000
lig394: -4.3600
lig420: -5.5200
lig550: -4.3200
lig1000: -7.5800
lig1005: -7.5200
lig1011: -8.1500
为了合并几个 csv 填充,我的 bash 脚本中使用了以下命令:
# merge several csv filles located within same home directory
paste -d'\t' "${home}"/*.csv >> "${home}"/results_ALL.csv
该方法的问题是,在结果文件中,两个相间之间有一个未使用的选项卡,其中行号大于 lig1000(这是合并两个填充的示例):
test_1200 test_7000
lig2: -4.6600 lig2: -5.7600
lig5: -6.8100 lig5: -5.9100
lig8: -5.1900 lig8: -5.1100
lig76: -5.5700 lig76: -5.0500
lig88: -5.8500 lig88: -4.7200
lig123: -6.0600 lig123: -6.2600
lig177: -0.1400 lig177: -0.7200
lig331: -8.0000 lig331: -9.3700
lig394: -4.3600 lig394: -4.7500
lig420: -5.5200 lig420: -4.4000
lig550: -4.3200 lig550: -4.9200
lig1000: -7.5800 lig1000: -5.3800
lig1005: -7.5200 lig1005: -6.7700
lig1011: -8.1500 lig1011: -6.6000
请注意,我想避免在最后 3 行之间有一个标签(在 lig1000 之后)。
此外,是否可以仅保留第一个 csv 文件中的第一列(包含行号,如 lig1)并删除其余部分(它们是同义的),但保留 CSV 中的索引生成的 fused 文件 (test_xxx)?
【问题讨论】:
-
我认为 CSV 文件是严格的逗号分隔值文件?
-
要摆脱常见的第一列,请考虑使用
join;要将分隔文件格式转换为固定宽度格式文件,它会变得更有趣,因为它取决于您要加入的文件数量和每列中最宽的字段;如果@jared_mamrot 的column答案不起作用,请考虑使用更多详细信息/示例数据更新问题 -
您能否发布使用 join 作为答案的方法以便我检查它?
-
没有额外的标签。 all 行的列之间只有 一个 选项卡。只是您正在使用每 4 列使用选项卡的编辑器查看文件。如果将其更改为普通的 8 列选项卡视图,它将正确排列。
-
对不起,我只是把它当作普通的 txt 文件看,并没有注意到它。所以在 exel csv 中应该像普通的 4 列 csv(现在我的 mac 上没有它)?