【问题标题】:Python: Removing non-numeric data from CSVPython:从 CSV 中删除非数字数据
【发布时间】:2016-03-27 21:45:21
【问题描述】:

我正在尝试读取由我在树莓派上编写的一些代码生成的 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

【问题讨论】:

  • 您可以使用正则表达式仅查找匹配 ^[\d\s]+$ 的行。

标签: python matlab parsing csv


【解决方案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)

或使用熊猫

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

【讨论】:

    猜你喜欢
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    相关资源
    最近更新 更多