首页 > 解决方案 > 如何从从 csv 文件中提取的字符串中删除不同的多个字符串

问题描述

我对编程很陌生,并且有一个带有集成列表值的字符串。我试图隔离字符串中的数值以便以后使用它们。

我试图拆分字符串,并将其更改回列表并使用循环删除 EU 变量。初始定义生成重复项的索引,并以我试图更改的列表/字符串格式写入它们。

这是 csv 文件提取示例:

Country,Population,Number,code,area
,,,,
Canada,8822267,83858,EU15,central
Denmark,11413058,305010,EU6,west
Southafrica,705034,110912,EU6,south

我们正在尝试将重复的欧盟编号人口加起来。

def duplicates(listed, number):
    return [i for i,x in enumerate(listed) if x == number]

a=list((x, duplicates(EUlist, x)) for x in set(EUlist) if EUlist.count(x) > 1)
str1 = ''.join(str(e) for e in a)

for x in range (6,27):
    str2=str1.replace("EUx","")
    #split=str1.split("EUx")
#Here is where I tried to split it as a list. Changing str1 back to a list. str1= [x for x in split] 

这是代码产生的:

('EU6', [1, 9, 10, 14, 17, 19])('EU12', [21, 25])('EU25', [4, 5, 7, 12, 15, 16, 18, 20, 23, 24])('EU27', [2, 22])('EU9', [6, 13])('EU15', [0, 8, 26])

我试图隔离方括号中的数字,以便打印:

[1, 9, 10, 14, 17, 19]
[21, 25]
[4, 5, 7, 12, 15, 16, 18, 20, 23, 24]
[2, 22]
[6, 13]
[0, 8, 26]

这将允许我隔离索引以供进一步使用。

标签: pythonstringlist

解决方案


我不确定没有示例数据,但我认为这可能会奏效:

def duplicates(listed, number):
    return [i for i,x in enumerate(listed) if x == number]

a=list((x, duplicates(EUlist, x)) for x in set(EUlist) if EUlist.count(x) > 1)
for item in a:
    print(item[1])

至少我认为这应该打印您在问题中要求的内容。


推荐阅读