Pokeman.csv 处理(Python)
python 的初学者可以拿来做练习
需求做出:
思路:
- 先打开所而的文文件,open_csv函数,而把所有数据存到data这个数组中并返回函数
- 为了方便之后的数据处理,我把五维总值和攻防差都增加到data的最后。
- 最后是冒泡排序的部分,因为2和3的要求都是冒泡排序,所以我直接创了一个冒泡排序的函数,只需要按照他的要求则可。
总代码如下:
import csv
def open_csv(filname):
with open(filname) as f:
data = []
read = csv.reader(f)
for row in read:
data.append(row)
return data
def five_sum(data):
fivesum = ["五維總值"]
for i in range(1,len(data)):
sum = int(data[i][5]) + int(data[i][6])+ int(data[i][7]) + int(data[i][8]) + int(data[i][9])
fivesum.append(sum)
return fivesum
def ad_value(data):
advalue = ["攻防差"]
for i in range(1,len(data)):
sum = abs(int(data[i][5])-int(data[i][6]))
advalue.append(sum)
return advalue
def bubble_sort(data,test):
test_value = []
for i in range(len(data)):
test_value.append(data[i][test])
for i in range(len(data)):
for j in range(1, len(data) - i - 1):
if int(test_value[j]) < int(test_value[j+1]):
test_value[j],test_value[j+1] = test_value[j+1],test_value[j]
data[j],data[j+1] = data[j+1],data[j]
print("以%s值做降序冒泡排序"%(data[0][test]))
for i in range(6):
print(data[i])
print(' ')
def main():
txt = 'pokeman.csv'
data = open_csv(txt)
fivesum = five_sum(data)
for i in range(len(data)):
data[i].append(fivesum[i])
print('%s 的五維總值為 %s' % (data[i][1], data[i][12]))
print(" ")
advalue = ad_value(data)
for i in range(len(data)):
data[i].append(advalue[i])
print('%s 的攻防差為 %s'%(data[i][1],data[i][13]))
print(" ")
for i in range(5):
i = i + 5
bubble_sort(data,i)
bubble_sort(data,12)
bubble_sort(data,13)
main()