处理CSV文件并将值与python组合

2024-05-18 15:20:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个CSV文件,它的数据如下

"/file/Puppies";"$2,166.74";"2,502";"5.55%";"$48.10";"152,844";"45,044"
"/file/Kittens";"$1,498.59";"1,618";"3.54%";"$32.75";"157,560";"45,764"
"/file/Puppies/pup";"$1,174.92";"1,451";"3.72%";"$30.10";"116,268";"39,038"

我想合并第二列,如果第一列相似,其余的值无关紧要。你知道吗

因此在本例中,列2中的/file/Puppies/file/Puppies/pup值都将被添加到最终输出中。你知道吗

我所说的相似是指,例如/file/Puppies//file/Puppies/1/file/Puppies/ru都是相似的。但/文件/小猫不会。你知道吗

关于如何开始有什么想法吗?你知道吗


Tags: 文件csv数据rufilekittens小猫pup
1条回答
网友
1楼 · 发布于 2024-05-18 15:20:19

构造一个字典来保存这些值,然后将每行的值添加到每个字典中

Values = {}
from csv import reader
with open('CSVFile.csv', 'r') as filehandle :
    reader = reader(filehandle,delimiter=';')
    for row in reader :
        Class = row[0].split('/')[2]
        Value = float(row[1].strip('$').replace(',', ''))
        if Class in Values :
            Values[Class] = Values[Class] + Value
        else :
            Values[Class] = Value
print Values

在这里,我对你所说的“相似”做了一些简化的假设,也就是说,我假设你的意思是“/file/”后面的第一件事,并且一直持续到该字段的结尾或下一个“/”。这就是我所说的Class。你知道吗

然后,我从数据中提取第二列,去掉“$”,去掉逗号,并转换为浮点值来查找值。你知道吗

然后,因为我们正在建立一个字典,我们必须测试我们是否已经看到一只小狗,或任何东西。如果是,只需添加到上一个值;如果不是,则设置该值。你知道吗

相关问题 更多 >

    热门问题