如何将excel电子表格保存为分号分隔的数值文件?
我正在运行excel,想把我的文件导出为.scsv(半分号分隔值)表,而不是.csv。有什么方法可以做到这一点吗?
ps. 我不能做一个.csv,用分号搜索和替换逗号,因为字段已经包含逗号了。
我正在运行excel,想把我的文件导出为.scsv(半分号分隔值)表,而不是.csv。有什么方法可以做到这一点吗?
ps. 我不能做一个.csv,用分号搜索和替换逗号,因为字段已经包含逗号了。
使用 LibreOffice Calc (它是免费下载的,在所有主要操作系统上都能使用)。
要保存为分号分隔的值。
.csv
结尾,应该是默认的) LO Calc将正确处理单元格值中的逗号和分号。
如果你想要一个脚本,请在一个模块中粘贴以下内容。
Option Explicit
Sub export2scsv()
Dim lastColumn As Integer
Dim lastRow As Integer
Dim strString As String
Dim i As Integer, j As Integer
lastColumn = ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count
lastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
Open "output.scsv" For Output As #1
For i = 1 To lastRow
Cells(i, 1).Select
strString = ""
For j = 1 To lastColumn
If j <> lastColumn Then
strString = strString & Cells(i, j).Value & ";" ' Use semicolon instead of pipe.
Else
strString = strString & Cells(i, j).Value
End If
Next j
Print #1, strString
Next i
Close #1
End Sub
你可以通过Excel的连词函数,用4个步骤轻松完成。
1.在您的文件中,在您希望在.csv导出中出现分号的地方添加一列分号字符。
在你的数据末尾开始新的一列,在第一行,使用=concatenate()
函数。确保选择所有你想出现在最终文件中的单元格。你的公式看起来会像=concatenate(A1,A2,A3...)
将所得公式复制并粘贴到所有数据行中。
选择整个公式列,然后粘贴特殊 -> Values到邻近的列中。现在你的所有数据都用分号分隔了。
最后,导出到你选择的文件格式。如果你在Windows中导出为.txt,你可以简单地将文件扩展名改为.csv,因为两者都是纯文本格式。
根据你的语言 ( * ) ,使用 Save As 并选择 CSV (MS-DOS) (*.CSV) 文件格式可能适合你的需要,因为它创建了一个分号分隔的文本文件。
( * ) 您的文本数据必须与 ASCII 可打印字符 (字符代码 32-127) 相匹配。在提供的表格中检查蓝色标记的字符
如果你想替换小数分隔符,请检查 @user318853 的建议 。
1.> 更改文件格式为.CSV(分号分隔)
为了达到预期的效果,我们需要临时更改Excel选项中的分隔符设置。
移动到文件->选项->高级->编辑部分
取消勾选 “使用系统分隔符 "设置,并在 "小数点分隔符 "字段中加入逗号。
现在以.CSV格式保存文件,它将以分号分隔的格式保存 !!!