如何修改excel转换csv的分隔符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修改excel转换csv的分隔符相关的知识,希望对你有一定的参考价值。

有时候需要将excel转成csv格式的文件,可以通过另存为csv(逗号分隔)实现。但如果遇到某个单元格内容包含逗号,那么这个cvs文件将可能导致使用它的程序出错,这个时候我们需要另外的符号作为分隔符。
打开控制面板-区域和语言选项,在区域选项卡上选择自定义,在自定义界面找到列表分隔符这一栏,默认为逗号(,),改成任意你想要的字符,点击确定完成修改。再试下另存为csv(逗号分隔),打开生成的cvs文件,发现分隔符变成了分号(;),证明修改成功。
参考技术A 你可以另存为txt文件,
保存时请在保存类型中选择文本文件(制表符分隔)
再起个文件名就可以了

使用逗号分隔符将单个 CSV 列批量转换为多个

【中文标题】使用逗号分隔符将单个 CSV 列批量转换为多个【英文标题】:Batch single CSV column to multiple with comma delimiter 【发布时间】:2021-02-18 06:19:45 【问题描述】:

我希望创建一个批处理脚本,该脚本使用批处理脚本将文本合并并转换为 Excel 中的列。 我设法合并了 CSV 文件,以便它们创建一个只有一个标题的 CSV。存储的数据以逗号分隔,但我无法使用逗号分隔符将包含整个字符串的单列拆分为多个列。例如 "a,b,c" 应该在同一行 "a b c" 上变成三列

希望有人能帮忙。

到目前为止我的代码:


ECHO Set working directory
pushd %~dp0

ECHO Deleting existing combined file
del combined.csv

setlocal ENABLEDELAYEDEXPANSION

REM set count to 1
set cnt=1

REM for each file that matches *.csv
for %%i in (*.csv) do (
REM if count is 1 it's the first time running
  if !cnt!==1 (
REM echo ^"sep=,^" >> combined.csv
REM push the entire file complete with header into combined.csv - this will also create combined.csv
    for /f "delims=" %%j in ('type "%%i"') do echo %%j >> combined.csv
REM otherwise, make sure we're not working with the combined file and
  ) else if %%i NEQ combined.csv (
REM push the file without the header into combined.csv
    for /f "skip=1 delims=" %%j in ('type "%%i"') do echo %%j >> combined.csv
  )
REM increment count by 1
  set /a cnt+=1
)

PAUSE```

【问题讨论】:

Powershell 可以正确地为您替换分隔符。您可以通过简单地在循环中执行foreach 来完成完整的powershell。做一个文件就像:powershell "Import-Csv .\test.csv -Delimiter , | Export-Csv -delimiter "t" .\temp.csv -NoTypeInformation" 或在 for 循环中将其合并到批处理文件中。for %%i in (*.csv) do powershell.... 【参考方案1】:

你只需要使用字符串替换,例如前面的分隔符是空格字符,

@echo off 
set "str=a b c"
echo %str%     
set "str=%str: =,%"
echo %str%

输出将是:

a,b,c

你为什么做这个? Excel 现在已经支持空格字符分隔。只需更改文件扩展名即可。

【讨论】:

你应该考虑csv的值也可能有空格,所以"John Smith" "Harry Johnson"不会变成"John Smith","Harry Johnson"而是"John,Smith","Harry, Johnson" 数据已经用逗号分隔,但是 Excel 没有将数据分隔成几列 @Dlaurs20 你可以阅读这篇文章,How to open CSV with Excel 或者你可以使用这个免费软件nirsoft.net/utils/csv_file_view.html 遗憾的是,Excel 的不同本地化对“csv”使用不同的分隔符。也许this is helpful?

以上是关于如何修改excel转换csv的分隔符的主要内容,如果未能解决你的问题,请参考以下文章

如何把csv文件转换成“正常的”excel?

EXCEL(CSV)格式文件如何转换为带逗号分隔符的TXT文件

csv如何转化为excel

如何修改CSV文件的分隔符

excel表格中怎样使用CSV逗号分隔格式?

使用 OpenOffice Calc 打开 Excel 文件并转换为 CSV 或制表符分隔