打开国际 .csv 文件会给出不同的输出

问题描述 投票:0回答:1

我的小子应该打开原始数据文件(*.csv),以便稍后以某种方式转换它们:

Sub OpenRawData()
 
    Dim wsraw As Worksheet
    Dim rawdatafile As String
    
    rawdatafile = Application.GetOpenFilename("Text Files (*.csv*),*.csv*")
    
    Workbooks.OpenText Filename:=rawdatafile, Origin:=xlWindows, StartRow:=1, _
    DataType:=xlDelimited, ConsecutiveDelimiter:=True, Semicolon:=True
    
    Set wsraw = ActiveWorkbook.Sheets(1)

End Sub

原始数据来自不同的仪器(美国和德国)。 打开 USA 文件效果很好,如下所示: RawData2_USA -“A”列中的每一行

打开 GER 文件会显示以下内容: RawData1_GER - 自动使用逗号作为分隔符

在 Windows 编辑器中打开这两个文件如下所示: (编辑器中的原始数据

如何防止 Excel 产生不同的输出? 或者如何确保无论打开哪个原始数据文件都能获得相同的输出?

我尝试了另一种方法:(Workbooks Open 而不是 Workbooks OpenText) 我尝试了不同的参数。无论我使用哪个分隔符,GER文件都使用逗号作为分隔符

importerror opencsv
1个回答
0
投票

原因可以在这里找到:如何将 Excel CSV 分隔符更改为逗号或分号。在那里您可以找到问题的解决方案。您可以强制特定的 Windows 计算机使用不同的分隔符,也可以更改程序以使用可出现在 CSV 文件中的所有分隔符。

该页面的引文:

Microsoft Excel 使用Windows 区域设置中定义的列表分隔符。 在北美和其他一些国家/地区,默认列表分隔符是逗号,因此您会得到以逗号分隔的 CSV。在欧洲国家,小数点符号保留逗号,列表分隔符一般设置为分号。这就是为什么结果是 CSV 分号分隔的原因。

© www.soinside.com 2019 - 2024. All rights reserved.