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

标签 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

最佳答案

# 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)

关于Python:从 CSV 中删除非数字数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36253049/

相关文章:

parsing - 使用 Ocaml Opal 的递归 Lisp 解析器

python - 使用 np.where 根据条件返回 df 行的平均值

python - 更改比较功能以使用键进行排序

java - Google 自定义搜索 API,如何使用 Java 以编程方式遍历 google 结果页面?

matlab - 在 Matlab 中导入音频文件的一部分

macos - 在 Mac OS X 10.11.1 (El Capitan) 上为 Matlab R2015a 安装 IPOPT

java - 检查一个字符串是否可以在没有 try-catch 的情况下解析为 Long?

python - 在 Python 中使用非 ASCII 字符编码邮件主题 (SMTP)

python - 无法用tf2.0/keras获取中间子模型层的输出

Matlab:仅在变量不存在时才分配变量?