Python:从CSV中删除非数字数据

时间:2016-03-27 21:45:21

标签: python matlab parsing csv

我正在尝试读取由我在树莓派上编写的一些代码生成的CSV文件。目前,树莓派在第一行输出数行警告或数据,然后将数据流输出为数值,如下所示:

MMA init error = -82        
MMA init error = 0      
MMA init pass    ID = 26    
MMA Sensor Connected    4744    56100
65232   4744    56100
65232   4744    56100
65232   4744    56100
65232   4744    56100

我想要一种方法来解析这个并删除所有包含错误和信息的行,这样当我对数值数据运行分析时,其他数据将不会包含在内。有没有办法做到这一点,类似于在MATLAB中,你可以简单地写filename.data

1 个答案:

答案 0 :(得分:1)

# coding: utf-8

data =[]
with open(filename) as f:
    for line in f.readlines():
        fields = line.split('\t')
        if fields[0].isdigit():
            data.append(fields)

或使用pandas

from pandas import read_table
# if you know first row data shows up in 
data = read_table(filename, header=firstrowdata)