Skip to main content
 首页 » 编程设计

python之在python中拆分文件的内容

2025年05月04日32三少

我得到了用逗号分隔的总统名字和一些细节,如下所示:

James Earl Carter, Jr., 1977-1981, Democrat 
Ronald Wilson Reagan, 1981-1989, Republican 
George Herbert Walker Bush, 1989-1993, Republican 

现在我想要三个这样的列表:

Name = ['Carter' , 'Reagan' , 'Bush'] 
 
StartYears = [1977,1981,1989] 
 
EndYears = [1981,1989,1993] 
 
Party = ['Democrat','Republican','Republican'] 

但是我面临着一些问题:

James Earl Carter, Jr. contains comma already so splitting is not working properly. 

怎么做?请帮忙。

请您参考如下方法:

从你的数据集中看起来只有名字可以有 , 在他们身上,其他人不会,所以你可以使用 rsplit 从后面 split 的功能,并给出它是参数 ',' 和 2 ,这意味着使用逗号从后面拆分并在 2 个拆分处停止。

例子-

s = "James Earl Carter, Jr., 1977-1981, Democrat".rsplit(',',2) 
print(s) 
>> ['James Earl Carter, Jr.', ' 1977-1981', ' Democrat'] 

此外,如果对于 name 列表,条件是如果没有 , 则选择列表中的姓氏,或者如果有逗号,则选择姓氏就在第一个逗号之前。一个简单的解决方案是使用 ',' 再次拆分名称列表,这一次正常的 split(',') 函数应该做,然后取第一个元素(如果没有逗号,会有只有一个元素),然后再次使用 split(' ') 将其按空格拆分,然后使用 [-1]` 索引获取最后一个元素。

例子-

>>> n = 'James Earl Carter, Jr.'.split(',')[0].split(' ')[-1] 
>>> print(n) 
Carter 
>>> m = 'Ronald Wilson Reagan'.split(',')[0].split(' ')[-1] 
>>> print(m) 
Reagan