在CSV fi中查找特定值

2024-05-15 00:46:14 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个函数,可以在csv文件的一列中找到最大值。我想打印与max值在同一行的值,但在第13列。该准则使其更加明确:

def bigQuake(inputfilename):

    file = open(inputfilename,"r")
    maxvalue = 0.0
    for line in file:
        value = line.split()
        try:
            p = float(line.split(",")[4])
            maxvalue = max(maxvalue,p)
        except:
            pass
return maxvalue

上面的代码只是找到第4列的maxvalue,当我替换

^{pr2}$

print("The largest earthquake was a " + maxvalue + "magnitude earthquake" + value[12])

值[12]试图在第12列中找到与第4列的最大值相对应的值。请注意,第12列包含字符串,因此我希望输出如下所示:

>>>bigQuake(file.csv)
>>>The largest earthquake was a 50 magnitude earthquake 10km from San Francisco.

Tags: csvthe函数valuelinemaxfilesplit
1条回答
网友
1楼 · 发布于 2024-05-15 00:46:14

跟踪与第4列中最大值对应的幅值值。在

另外,最好使用标准库中的csv模块来解析csv文件:

import csv

def bigQuake(inputfilename):
    with open(inputfilename,"r") as input_file:
        reader = csv.reader(input_file)

        maxvalue = 0.0
        magnitude = None
        for line in reader:
            try:
                p = float(line[4])
                if p > maxvalue:
                    maxvalue = p
                    magnitude = line[12]
            except ValueError:
                pass

    print("The largest earthquake was a", maxvalue, "magnitude earthquake", magnitude, ".")

另外,请注意,在处理文件时应该使用with上下文管理器,并且只捕获specific to situation exceptions。在

希望有帮助。在

相关问题 更多 >

    热门问题