首页 > 解决方案 > 如何计算具有指定值的文本文件中的行数?

问题描述

我正在使用一个 .csv 文件,该文件在一列中列出时间戳,在第二列中列出风速。我需要通读这个 .csv 文件并计算风速高于 2m/s 的时间百分比。这是我到目前为止所拥有的。

txtFile = r"C:\Data.csv"
line = o_txtFile.readline()[:-1]
while line:
    line = oTextfile.readline()
for line in txtFile:
    line = line.split(",")[:-1]

如何计算行中第二个元素大于 2 的行数?

CSV 文件样本

标签: python

解决方案


您可能需要稍微更新您的 CSV,具体取决于所选选项(对于选项 1 和选项 2,您肯定要删除所有标题行,而对于选项 3,您将只保留中间一个,即以TIMESTAMP) 开头。

你实际上有三个选择:

选项 1:香草 Python

count = 0

with open('data.csv', 'r') as file:
    for line in file:
        value = int(line.split(',')[1])
        if value > 100:
            count += 1

 # Now you have the value in ``count`` variable

选项 2:CSV 模块

这里我使用Python 的 CSV 模块(你也可以使用DictReader,但我会让你自己进行搜索)。

import csv

count = 0

with open('data.csv', 'r') as file:
    reader = csv.read(file, delimiter=',')
    for row in reader:
        if int(row[1]) > 100:
            count += 1

 # Now you have the value in ``count`` variable

选项 3:熊猫

Pandas是一个非常酷、很棒的库,被很多人用来进行数据分析。做你想做的事情看起来像:

import pandas as pd

df = pd.read_csv('data.csv')

# Here you are
count = len(df[df['WindSpd_ms'] > 100])

推荐阅读