0
点赞
收藏
分享

微信扫一扫

go 计算网络带宽95值

菜菜捞捞 2022-07-12 阅读 112

package main

import (
"encoding/csv"
"fmt"
"log"
"math/big"
"os"
"sort"
"strconv"
)

func main() {
filename := "1.csv"
ReadCsv(filename)
}

func ReadCsv(filepath string) {
opencast, err := os.Open(filepath)
if err != nil {
log.Println("csv文件打开失败!")
}
defer opencast.Close()

ReadCsv := csv.NewReader(opencast)

ReadAll, err := ReadCsv.ReadAll() //返回切片类型:[[s s ds] [a a a]]
var c2 []int64
c3 := []int64{}
c4 := []int64{}
c5 := []int64{}
c6 := []int64{}
c7 := []int64{}
for _, v := range ReadAll {
i2 := new(big.Int)
i2.SetString(v[1], 10)
//fmt.Println(i, v, i2.String())
c2 = append(c2, i2.Int64())

i3 := new(big.Int)
i3.SetString(v[2], 10)
c3 = append(c3, i3.Int64())

i4 := new(big.Int)
i4.SetString(v[3], 10)
c4 = append(c4, i4.Int64())

i5 := new(big.Int)
i5.SetString(v[4], 10)
c5 = append(c5, i5.Int64())

i6 := new(big.Int)
i6.SetString(v[5], 10)
c6 = append(c6, i6.Int64())

i7 := new(big.Int)
i7.SetString(v[6], 10)
c7 = append(c7, i7.Int64())
}

sort.Slice(c2, func(i, j int) bool { return c2[i] > c2[j] })
sort.Slice(c3, func(i, j int) bool { return c3[i] > c3[j] })
sort.Slice(c4, func(i, j int) bool { return c4[i] > c4[j] })
sort.Slice(c5, func(i, j int) bool { return c5[i] > c5[j] })
sort.Slice(c6, func(i, j int) bool { return c6[i] > c6[j] })
sort.Slice(c7, func(i, j int) bool { return c7[i] > c7[j] })

c2Value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", float64(c2[432]/8/1000/1000)/float64(1000)), 64)
c3Value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", float64(c3[432]/8/1000/1000)/float64(1000)), 64)
c4Value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", float64(c4[432]/8/1000/1000)/float64(1000)), 64)
c5Value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", float64(c5[432]/8/1000/1000)/float64(1000)), 64)
c6Value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", float64(c6[432]/8/1000/1000)/float64(1000)), 64)
c7Value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", float64(c7[432]/8/1000/1000)/float64(1000)), 64)

fmt.Println("2 ", c2Value)
fmt.Println("3 ", c3Value)
fmt.Println("4 ", c4Value)
fmt.Println("5 ", c5Value)
fmt.Println("6 ", c6Value)
fmt.Println("7 ", c7Value)

c10Value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", float64((c2[432]+c3[432]+c4[432]+c5[432]+c6[432]+c7[432])/8/1000/1000)/float64(1000)), 64)
fmt.Println(c10Value)

c8 := []int64{}
for i, _ := range c2 {
c8 = append(c8, c2[i]+c3[i]+c4[i]+c5[i]+c6[i]+c7[i])
}
c8Value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", float64(c8[432]/8/1000/1000)/float64(1000)), 64)
fmt.Println(c8Value)

}

举报

相关推荐

0 条评论