如何使用python从csv文件中提取最小值和最大值

时间:2018-02-22 05:06:51

标签: python list csv max min

我有一个从csv文件读取的python脚本,并将请求的列附加到2个空列表中。之后,我需要提取所提取列的最小值和最大值。

enter image description here

我写了这段代码,但似乎没有用,因为结果是空的。

的代码:

import csv
mydelimeter = csv.excel()
mydelimeter.delimiter=";"
myfile = open("C:/Users/test/Documents/R_projects/homework/rdu-weather-history.csv")
myfile.readline()
myreader=csv.reader(myfile,mydelimeter)
mywind,mydate=[],[]
minTemp, maxTemp = [],[]

for row in myreader:
    print(row[1],row[2])
    minTemp.append(row[1])
    maxTemp.append(row[2])
print ("min value element : ", min(minTemp))
print ("max value element : ", min(maxTemp))

4 个答案:

答案 0 :(得分:4)

你可以使用Pandas你可以将数据加载到DataFrames中,它们有内置函数,如Sum,Max,Min,AVG等。

import pandas as pd

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


#FINDING MAX AND MIN
p=df['ColumnName'].max()
q=df['ColumnName'].min()


print(q)

这就是它你会在Specified列中找到Min值。

答案 1 :(得分:1)

这可能会有所帮助

import csv

with open('C:/Users/test/Documents/R_projects/homework/rdu-weather-history.csv', "r") as csvfile:
    data = csv.reader(csvfile, delimiter=';')
    minVal, maxVal = [], []
    for i in data:
        minVal.append(i[1])
        maxVal.append(i[2])

print min(minVal)
print max(maxVal)

答案 2 :(得分:0)

您还可以使用numpy库查找最小值和最大值。

import numpy as np

my_data = np.genfromtxt("C:/Users/test/Documents/R_projects/homework/rdu-weather-history.csv", delimiter=",", skip_header=True)
print ("min value element : ", my_data.min(axis=0)[1])
print ("max value element : ", my_data.max(axis=0)[2])

答案 3 :(得分:0)

我为我的问题找到了解决方案。 似乎csv文件包含一个空行 我所做的是我在代码中处理异常,因此代码变为:

import csv

mydelimeter = csv.excel()
mydelimeter.delimiter=";"
myfile = open("C:/Users/test/Documents/R_projects/homework/rdu-weather-history.csv")
myfile.readline()
myreader=csv.reader(myfile,mydelimeter)
mywind,mydate=[],[]
minTemp, maxTemp = [],[]

for row in myreader:
  #  print(row[1],row[2])
    try:
        minTemp.append(float(row[1]))
        maxTemp.append(float(row[2]))
    except ValueError:
        print ("error","on line",row)   

print ("min value element : ", min(minTemp))
print ("max value element : ", max(maxTemp))