如果我要解析的列在Python中的CSV文件中间,如何解析CSV文件?

时间:2018-03-31 07:48:05

标签: python pandas dataframe

我有一个CSV数据,如下所示,

Schedule Start Time Schedule End Time   Interval    System IP - Login User
3-30-2018 1:22  03-30-2018 02:21    00 hour 5 minute    10.1.1.3


Grep Command Result         

Schedule Time   ECM MAC ImageName   
03-30-2018 01:22    B4:A5:EF:F2:27  UNAVAILABLE 
03-30-2018 01:27    B4:A5:EF:F2:27  UNAVAILABLE 
03-30-2018 01:32    B4:A5:EF:F2:27  UNAVAILABLE 
03-30-2018 01:37    B4:A5:EF:F2:27  UNAVAILABLE 
03-30-2018 01:42    B4:A5:EF:F2:27  UNAVAILABLE 
03-30-2018 01:47    B4:A5:EF:F2:27  UNAVAILABLE 
03-30-2018 01:52    B4:A5:EF:F2:27  UNAVAILABLE 
03-30-2018 01:57    B4:A5:EF:F2:27  UNAVAILABLE 
03-30-2018 02:02    B4:A5:EF:F2:27  UNAVAILABLE 
03-30-2018 02:07    B4:A5:EF:F2:27  UNAVAILABLE 
03-30-2018 02:12    B4:A5:EF:F2:27  UNAVAILABLE 
03-30-2018 02:17    B4:A5:EF:F2:27  UNAVAILABLE 

我想解析Schedule Time,ECM MAC,ImageName这些列, 我怎么能在python中做到这一点,我试过

file1='testcsv.csv'
red=pd.read_csv(file1,skipinitialspace=True,usecols=['Schedule Time','ECM MAC','ImageName'])
print red

但我得到了,

  File "/Library/Python/2.7/site-packages/pandas/io/parsers.py", line 1740, in __init__
    raise ValueError("Usecols do not match names")

有人能提出最佳解决方案吗?谢谢

1 个答案:

答案 0 :(得分:1)

我不确定您是否可以使用read_csv轻松解析它。但是你可以跳过第一行并找到信息所在的位置:

import { EditService } from '../services/edit.service';

export class CustomClass {
   editService:EditService = new EditService();
   constructor(special args here){}
...
}

这是使用"名称"用于列名称。它将分隔符设置为' ',默认为','并且正在浏览第一行信息。 index_col = False强制read_csv不使用第一列作为索引列。