Python CSV解析

A,B,两列数据
例如:
若B1,B2列相同(其中B列的数据随机,非升降序)
则在C列呈现A1,A2数据差..

如图:
图片描述

用VBA比较简单,用Python怎么解答.
之前的问题描述实在糟糕,非常抱歉.

阅读 3k
2 个回答

若B列相同,则在C列呈现,没听懂?标准库有cvs支持,解析转换成python数据类型不就行了吗

要求不是太清楚, 看你的图, 如果A, B两列数据是排序过的, 并且B列最多有两个相同的, 那先把你的需求整理了一下

原始数据是A, B两列, 都是整数, 以B列为主从小到大排列, B列相同的情况下A列也是从小到大排列; 如果B列值相同, 则把A列对应的值相减, 结果插入C列

首先CSV文件可以按行读取, 同一行中不同单元格的间隔是,, 行尾有\n表示结束. 所以思路是按行读取, 存成一个二元列表, 依次比较, 比较完成后再用join插入,和\n存入csv文件就可以了, 代码如下:


    my_list = [[80, 7], [153, 7], [188, 19], [80, 20]]
    
    for i in range(1,len(my_list)):
        if my_list[i-1][1] == my_list[i][1]:
            my_list[i].append(my_list[i][0] - my_list[i-1][0])
            
    print my_list
    # [[80, 7], [153, 7, 73], [188, 19], [80, 20]]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题