首頁  >  問答  >  主體

Python CSV解析

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

如图:

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

阿神阿神2711 天前388

全部回覆(2)我來回復

  • PHPz

    PHPz2017-04-18 10:17:23

    若B列相同,則在C列呈現,沒聽懂?標準函式庫有cvs支持,解析轉換成python資料型別不就行了嗎

    回覆
    0
  • 迷茫

    迷茫2017-04-18 10:17:23

    要求不是太清楚, 看你的圖, 如果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]]
    

    回覆
    0
  • 取消回覆