解析文件中的数据(Python):如何确定第114届国会中共和党、民主党和独立人士的人数

解析文件中的数据(Python):如何确定第114届国会中共和党、民主党和独立人士的人数,python,Python,因此,我一直在研究这段代码,以确定第114届国会中共和党、民主党和无党派参议员的人数。这是我的密码。出于某种原因,我不断地得到一些关于以num开头的变量的奇怪错误。请帮助 def main(): # Determines the number of senators of each party affiliation infile = open("Senate114.txt", 'r') set1 = {line.rstrip() + "\n" for line in i

因此,我一直在研究这段代码,以确定第114届国会中共和党、民主党和无党派参议员的人数。这是我的密码。出于某种原因,我不断地得到一些关于以num开头的变量的奇怪错误。请帮助

def main():
    # Determines the number of senators of each party affiliation
    infile = open("Senate114.txt", 'r')
    set1 = {line.rstrip() + "\n" for line in infile}
    infile.close()
    listx = list(set1)
    listx.sort(key=lambda x: x.split(',')[2])  # sort by party affiliation
    partyAffiliation = listx[2]
    rep = []
    dem = []
    ind = []
    numRep = []
    numDen = []
    numInd = []
    while (partyAffiliation == 'R'):
        rep = rep.expend
        numRep == int(len(rep))
    while (partyAffiliation == 'D'):
        dem = dem.extend
        numDem == int(len(dem))
    while (partyAffiliation == 'I',):
        ind = ind.extend
        numInd == int(len(ind))

    print('Party Affiliation: ')
    print('Republicans: ',numRep)
    print('Democrats:' ,numDem)
    print('Independents:' ,numInd)

main()

假设数据与此相似:

Gooding,Cuba,R
Miller,Dennis,D
Bolton,Michael,I
Grouch,Oscar,I
Einstein,Albert,R
Azaria,Hank,D
Motzart,Amadeus,I
您可以使用如下代码:

import collections

lines = open("Senate114.txt").read().splitlines()
parties = [line.split(",")[2] for line in lines]
party_counts = collections.Counter(parties)

print(party_counts)
输出

Counter({'I': 3, 'R': 2, 'D': 2})
你可以加上:

print('Party Affiliations: ')
print('Republicans:', party_counts.get('R', 0))
print('Democrats:', party_counts.get('D', 0))
print('Independents:', party_counts.get('I', 0))

假设数据与此相似:

Gooding,Cuba,R
Miller,Dennis,D
Bolton,Michael,I
Grouch,Oscar,I
Einstein,Albert,R
Azaria,Hank,D
Motzart,Amadeus,I
您可以使用如下代码:

import collections

lines = open("Senate114.txt").read().splitlines()
parties = [line.split(",")[2] for line in lines]
party_counts = collections.Counter(parties)

print(party_counts)
输出

Counter({'I': 3, 'R': 2, 'D': 2})
你可以加上:

print('Party Affiliations: ')
print('Republicans:', party_counts.get('R', 0))
print('Democrats:', party_counts.get('D', 0))
print('Independents:', party_counts.get('I', 0))

您可以编辑您的问题并提供一个数据的示例吗?python的文档中没有FunkyError…因此,您可以详细说明一下吗?您使用以
num
开头的变量(例如
numRep==int(len(rep))
的语句正在检查等价性,而不是分配给变量。使其成为
numRep=int(len(rep))
数据如下所示:参议员姓名、州、党派关系,例如:Ted Cruz,Texas,R我也由coralv进行了建议的更改,并得到以下错误消息:Traceback(最近一次调用):File“/Users/MaryAnn/Desktop/Quiz3/4b.py”,第27行,在main()文件中“/Users/MaryAnn/Desktop/Quiz3/4b.py”,第20行,在main numInd=int(len(ind))TypeError:builtin_function_或_method类型的对象没有len()您可以编辑您的问题并提供一个数据的示例吗?python的文档中没有FunkyError…因此,您可以详细说明吗?您的语句使用以
num
开头的变量,例如
numRep==int(len(rep))
正在检查等效性,而不是分配给变量。将其设置为
numRep=int(len(rep))
数据如下所示:参议员姓名、州、党派关系,例如:Ted Cruz,Texas,R我还由coralv进行了建议的更改,并收到以下错误消息:回溯(最近一次调用):文件“/Users/MaryAnn/Desktop/Quiz3/4b.py”,第27行,在main()文件“/Users/MaryAnn/Desktop/Quiz3/4b.py”中,第20行,在main numInd=int(len(ind))类型错误:“内置函数”或“方法”类型的对象没有len()I+1代表一个好答案,还是-1代表那个损坏的数据集?Ach,decisions…;)什么是集合?集合是一个内置的python模块,包含各种有用的模块/类。计数器是集合的一部分,在…计数时很有用。请阅读这里:I+1代表一个好答案,还是-1代表那个损坏的数据集?Ach、 决策…;)什么是集合?集合是一个内置的python模块,包含各种有用的模块/类。计数器是集合的一部分,在…计数时非常有用。请在此处阅读: