Python 如何在不使用pandas或import的情况下按组求和/聚合

Python 如何在不使用pandas或import的情况下按组求和/聚合,python,Python,因此,我基本上不允许使用任何导入或其他库,如pandas或groupby。 我必须对数据进行分类,并总结出相应的值。数据位于csv文件中。 比如说, **S** C **T** A T 100 A. B 102 A. T. 200 A B. 100 C T 203 C. T. 200 C B 200 C T

因此,我基本上不允许使用任何导入或其他库,如pandas或groupby。 我必须对数据进行分类,并总结出相应的值。数据位于csv文件中。 比如说,

**S** C  **T**
A      T           100
A.     B           102
A.     T.          200
A      B.          100
C    T           203
C.   T.          200
C    B           200
C  T          200
C. B          200 
我的预期结果应该是

S      C   T

A      T       300
A     B.      202
C    T       403
C    B.      200
C  T.      200
C   B.     200
输出:

state           candidate       total votes     


Alaska          Trump           300            
Alaska          Biden           202            
colorado        Trump           403            
colorado        Biden           200            
California      Trump           200            
California      Biden           200 
state,candidate,total votes
Alaska,Trump,300
Alaska,Biden,202
colorado,Trump,403
colorado,Biden,200
California,Trump,200
California,Biden,200

考虑到您有一个csv文件(即按逗号分割的列):

打开('myfile.csv','r')作为文件:
header=file.readline().rstrip()
数据={}
对于文件中的行:
状态,候选,值=行。拆分(',')
k、 value=(状态,候选),int(值)
数据[k]=data.get(k,0)+值
结果_csv='\n'.join([header]+[f”{','.join(k)},{v}表示数据项()中的k,v)
打印(结果\u csv)
输出:

state           candidate       total votes     


Alaska          Trump           300            
Alaska          Biden           202            
colorado        Trump           403            
colorado        Biden           200            
California      Trump           200            
California      Biden           200 
state,candidate,total votes
Alaska,Trump,300
Alaska,Biden,202
colorado,Trump,403
colorado,Biden,200
California,Trump,200
California,Biden,200

myfile.csv的原始内容是(如有必要,使用
str.replace
):


在数据上循环并在字典中收集
{(州,候选人):投票}您的文件实际上有这样的标点符号和打字错误吗?这对你有关系吗?很抱歉,我当时急急忙忙把它贴出来,这是我的打字错误和标点符号