Heres what the program should look like,Here is the data file I am reading from我正在创建一个函数,该函数从文件中获取分析数据。该文件包含销售人员ID号,他们进行销售的月份以及销售金额。我必须按季度将它们分类为二维列表。我无法找到一种方法将ID号与索引匹配,然后按季度添加销售额。
def get_IDs(filename):
idfile = open(filename, 'r')
#create ID list
id_list = []
sales_data = []
for line in idfile:
id_list.append(line.strip('\n'))
sales_data.append([0,0,0,0])
id_list.sort()
idfile.close()
return id_list, sales_data
def process_sales_data(filename, id_list, sales_data):
datafile = open(filename, 'r')
for line in datafile:
data = line.split(' ')
dataline = data[0] + data[1] + data[2]
for salesperson in range(len(id_list)):
for quarter in range(3):
答案 0 :(得分:0)
首先,我想指出如何优化代码:
这是示例代码:
def process_sales_data(filename):
sales = {}
with open(filename, 'r') as f:
for line in f:
id, month, sale = line.strip('\n').split(' ')
sales.setdefault(id, [0] * 4)[(int(month) - 1) // 4] += float(sale)
return sales
如果要输出按ID排序,则可以使用sorted
来命令。
希望对您有所帮助,如有其他问题,请发表评论。 :)