Excel;如何将 CSV 表格导入为由表格编号分隔的行?

Excel;如何将 CSV 表格导入为由表格编号分隔的行?

所以我有一个庞大的数据集,其未处理的格式是一个 CSV 文件,包含两个堆叠在一起的列表。在下图中,文件的分隔版本以 A 列和 B 列表示,第一个数据集在 A1:B3 中,第二个数据集在 A5:B11 中,第三个数据集在 A13:B19 中,等等......有超过 700 万个数据点,因此手动执行此操作将需要实际的一生。

我希望数据看起来像第二张图片,其中我创建了一个执行此操作的方程。但是它不能解释表格长度的差异;而且对整个数据集进行 VLOOKUP 会导致我的计算机崩溃。

有人一定知道我如何导入该数据集并获得我所描述的结果,请帮忙!

这是处理之前的数据集

这就是我希望数据最终出现在 F2:L9 中的样子。将 F2 视为最终输出中的单元格 A1

答案1

我已经快速地为您编写了一些基本代码,以便使用宏来执行此操作。

Sub RotateData()
    'Row 1
    Dim r As Integer
    r = 1
    'Column 1 or "A"
    Dim c As Integer
    c = 1

    Dim ws As Worksheet: Set ws = ActiveSheet

    Do While ws.Cells(r, c) <> ""
    Do While ws.Cells(r, c) <> ""
        ws.Cells(c, r + 5) = ws.Cells(r, c)
        r = r + 1
    Loop
        r = 1
        c = c + 1
    Loop
    End Sub

>

这是一般的想法,因为TRANSPOSE()excel 中的函数仅限于处理一定数量的项目。我处理过 280mb 的 csv 文件,发现单独的工作簿和仅引用数据集可以节省大量的 CPU 和 RAM 使用量。

此代码确实要求您在每个单元格中都有“某些内容”。

相关内容