我有一个CSV file
,在列和行对齐方面非常混乱。在第一个单元格中,所有列名都已声明,但它们不与下面的行对齐。所以当我在python using pandas
中加载这个CSV时
我没有一个干净的数据帧
在下面的图片中,有一个例子说明了当列分开并与行匹配时,它应该是什么样子。在
一些细节:
几行原始CSV文件:
Columns:
VMName;"Cluster";"time";"AvgValue";"MinValue";"MaxValue";"MetricId";"MemoryMB";"CpuMHz";"NumCpu"
Rows:
ITLT4301;1;"1-5-2018";976439;35059255;53842;6545371441;3235864;95200029;"MemActive";"4096";"0";"0"
代码:
^{pr2}$在python中加载数据帧时的输出:
VMName;"Cluster";"time";"AvgValue";"MinValue";"MaxValue";"MetricId";"MemoryMB";"CpuMHz";"NumCpu",,,
ITLT4301;1;"1-5-2018";976439,35059255 53842,6545371441 3235864,"95200029 MemActive"" 4096"" 0"" 0"""
期望输出:
VMName Cluster time AvgValue MinValue MaxValue MetricId MemoryMB CpuMHz
ITLT4301 1 1-5-201 976439 35059255 53842 6545371441 95200029 MemActive
NumCpu
4096
希望这能使话题和问题稍微澄清一点。期望的输出是一个组织良好的数据帧,其中的列与基于分隔符“;”的行相匹配
您的输入数据文件不是标准的csv文件。正确的方法是修复前面的步骤,以获得一个普通的csv文件,而不是一堆双引号,这会妨碍任何像样的csv解析器正确地提取数据。在
作为一种解决方法,可以删除起始双引号和终止双引号,删除任何双引号,并在忽略任何剩余双引号的情况下拆分半列上的每一行。可选的是,您也可以尝试删除任何双引号并将“;”上的行拆分。这取决于你期望什么样的价值观。在
可能的代码可能是:
有了这个输入:
^{pr2}$它提供:
相关问题 更多 >
编程相关推荐