我是python新开发人员的新手,刚刚开始我的intership。所以,我有一个csv文件,里面有这样定制的数据
事件类别、事件标签、总事件、唯一事件、事件值、平均值。值
我想从文件的每一行提取字典中端口的标签(下面(,并添加total和unic事件。总的和唯一的事件,我必须把它们加起来,只加上具有相同标签的端口(不是双重的(。我的数据如下:"Search,Santorin(JTR(-Paros(PAS(-Santorin(JTR(,";2199〃"1584";,0,0.00'我希望我的字典看起来像这样:
data_file="Analytics.csv"ports_dict={#";ATH-HER":[100000],#";ATH-JTR":[2003500],#";HER-JTR":[1000500]}
data = 'Analytics.csv'
#row= 'Search,Santorin (JTR) - Paros (PAS) - Santorin (JTR),"2,199","1,584",0,0.00'
def extract_counts(data):
ports = []
for i in data.split('"')[1:]:
ports.append(i.split('"')[0])
return ports
我的代码中的一个例子是,当我使用行运行正常时,当我用"data"时,它会返回一个空字符串。有人能帮我吗?
extract_counts(数据(输出[13]:[]
我必须做些什么才能为整个csv运行这个谢谢你的帮助!
首先,"data"只是一个字符串变量。在循环中,您对每个字符进行迭代,而不是读取文件。在单个字符上使用带有"的split,结果是一个空字符串。
要开始您的旅程,阅读Python中的CSV文件,我建议:
- https://realpython.com/python-csv/
- https://docs.python.org/3/library/csv.html