python - 如何计算具有指定值的文本文件中的行数?
问题描述
我正在使用一个 .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,具体取决于所选选项(对于选项 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])
推荐阅读
- php - 405 方法不允许,PATCH 不工作。Laravel、Ajax、Jquery、引导模式
- node.js - 无法连接到开发服务器反应原生 ios 模拟器节点
- php - 带有 OFFSET 和 Limit 的 PDO 获取所有记录
- postgresql - 使用 PostgreSQL 在 NESTED JSONB 数组中添加/更新对象和元素
- log4j2 - 将 log4j2 配置文件配置为仅将错误记录到文件
- java - 是否可以在查询 SPARQL 中进行文本预处理?
- python-3.x - 如何从python请求库中的当前会话中获取会话ID/会话密钥
- powerbi - Power BI 到 DOMO
- intellij-idea - 如何配置 Intellij IDEA 以使用 oracle tnsnames
- php - Getimagesize 在主机服务器中不起作用 - Hostinger