我必须编写一个Python应用程序来读取CSV输入文件(应用程序集.csv)并生成一个输出文件,计算每个用户的应用程序使用频率。输入文件的第一列包含用户id(user_id),第二列包含应用程序的名称(app_name)。从应用程序集.csv,我必须计算每个用户的应用程序使用频率,以生成app_Rank,并转换为名为的新数据集appsIndividualUsage.csv应用程序包含以下列:用户标识;应用名称;应用等级。在
例如,如果应用程序集.csv有以下事件
a facebook
a facebook
a linkedin
b google
b yahoo
b yahoo
那么appsIndividualUsage.csv应用程序将是:
^{pr2}$以下是我正在努力解决的代码:
import csv
with open("C:\\Users\\anne\\Desktop\\appsUsage.csv", mode='r') as f_in,
open("C:\\Users\\anne\\Desktop\\appsIndividualUsage.csv", mode='w', newline='')
as f_out:
f_reader = csv.reader(f_in, dialect=csv.excel_tab)
f_writer = csv.writer(f_out, dialect=csv.excel_tab)
for line in reader:
if line is equal then write it in writer and add a row of frequency
我完全不知道怎么写最后一行代码。在
Python为此提供了一个^{} 。它是一个类似字典的对象,可以用来计算添加到其中的键。在本例中,字典的键是用户名和应用程序的组合。在
首先从输入的CSV文件中读取所有条目并对其进行计数。然后将排序后的计数写入输出CSV文件,如下所示:
这将为您提供如下CSV文件:
^{pr2}$如果不允许使用
Counter()
,则需要使用普通字典,并将1添加到任何现有的键中。在相关问题 更多 >
编程相关推荐