如何解决excel文件保存的列表分隔符问题???

发布网友 发布时间:2022-04-22 12:49

我来回答

1个回答

热心网友 时间:2023-07-11 19:34

假设我们当前需求为:将一个xlsx格式的excel文件转换为以 | 作为分隔符的txt文本文件。
我们通常的方法有:

上述方法,要么是需要手动拼接,要么是需要手动做分隔的替换工作。当记录数量较少或格式没那么复杂的情况下问题不大,但是当记录数达到几十万上百万以后,替换操作会非常缓慢,并且如果文件中出现超长度的数值或是日期等特殊数据格式时,可能导出的数据还会出现各种各样的问题。
因此我们可以使用以下的方式进行处理。

首先,我们的处理方式总结起来,就是修改系统中的分隔符配置,这样在excel中导出csv就是我们想要的分隔符了,之后在修改为txt后缀就完成了处理。

假设我们有以下数据:

将其另存为csv文件:

这时以文本方式打开csv文件,会发现实际上这是一个以逗号为分隔符的普通文本文件:

打开控制面板,点击 更改日期、时间或数字格式 :

点击 其他设置 :

在打开的窗口中,将列表分隔符由原来的 , 修改为 | ,点击 确定 / 应用 :

这时回到excel中,同样的我们使用另存为csv的方式进行处理:

再次以文本文件的方式打开csv文件,就会发现分隔符已经变成了 | :

有时候需要我们在末尾添加一个分隔符,例如 a|b|c 需要我们输出为 a|b|c| ,这时我们只需要在excel文件的最后填充一列内容为 ="" ,即填充一列空白字符:

这时再重复导出csv的步骤,导出的文件中就会多出一列 | :

对于数字格式,选中该列,点击 数据 ,在选择 分列 ,一路点击下一步,到步骤3 列数据格式选择 ,选择为 文本 ,并点击完成:

此时我们会发现之前以科学记数法表示的超长数字此时是以文本数字的方式展示的(特点是左上角有一个绿色的小三角):

选中日期列,通过分列的方式将其修改为文本格式:

此时原来日期那一列可能没什么特别的表现,但是公式中引用日期列的部分,将会以普通文本的方式进行展示,而不再使用数字的方式展示日期:

此时我们使用跟之前一样的方式,导出为csv,并以文本方式打开csv文件,会发现数字部分是以普通数字的方式输出的,日期部分也是以普通日期格式进行输出的:

导出为csv后,将其后缀修改为txt就可以直接拿来使用了。
此外,由于不确定是否有其他文件会用到这个系统分隔符,所以为避免出现问题,再处理完以后建议将分隔符还原为默认的 , :

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com