首页 文章

从.csv文件导入特定数据

提问于
浏览
-1

我已经用我工作的工具的最后一点代码打了一堵砖墙 . 我们自动将维度数据收集到csv文件中,并且它有一种我无法解决如何处理的格式 . 例如:

heading1,data1,heading2,data2,heading3,data3,heading1,data1,heading2,data2,heading3,data3等 .

csv文件中没有换行符,我无法找出如何选择我想要插入模板中特定单元格的数据 . 由于信息的性质,我无法提供csv文件或模板 . 谁能提供任何见解?提前致谢 .

编辑:我想结束

Headers 1,数据1,heading2,数据2,heading3,DATA3

Headers 1,数据1,heading2,数据2,heading3,DATA3

Headers 1,数据1,heading2,数据2,heading3,DATA3

虽然我需要考虑可变数量的数据点

1 回答

  • 0

    我找到了一种方法来获取我正在寻找的输出:

    Application.ScreenUpdating = False
    
    ' --- BROWSE FOR FILE --- '
    
    Dim FileName As String
    
    FileName = Application.GetOpenFilename("Comma Seperated Values Files (*.csv), *.csv")
    If FileName = "False" Then
        MsgBox "No file selected"
        Exit Sub
    End If
    
    ' --- READ FILE --- '
    
    Open FileName For Input As #1
    
    r = 0
    Do Until EOF(1)
        Line Input #1, Data
        r = r + 1
    Loop
    
    Close #1
    
    ' --- EDIT FILE --- '
    
    Data = Replace(Data, " ,", ",")
    
    Data = Replace(Data, ", ", ",")
    
    Data = Replace(Data, ",PART_NO", vbCrLf & "PART_NO")
    
    ' --- SAVE CHANGES TO FILE --- '
    
    Open FileName For Output As #1
    
    Print #1, Data
    
    Close #1
    

    这使.csv文件的格式为excel可以导入到正确的行而不是同一行中的所有数据 .

相关问题