Maison  >  Questions et réponses  >  le corps du texte

Python CSV解析

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

如图:

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

阿神阿神2711 Il y a quelques jours393

répondre à tous(2)je répondrai

  • PHPz

    PHPz2017-04-18 10:17:23

    Si la colonne B est la même, elle sera affichée dans la colonne C. Vous ne comprenez pas ? La bibliothèque standard prend en charge les cvs, ne suffirait-il pas de l'analyser et de la convertir en type de données python

    répondre
    0
  • 迷茫

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

    Les exigences ne sont pas très claires. En regardant votre image, si les données des colonnes A et B sont triées et qu'il y a au plus deux données identiques dans la colonne B, triez d'abord vos exigences

    Les données d'origine se trouvent dans les colonnes A et B, qui sont toutes deux des nombres entiers. La colonne B est classée de petite à grande. Si la colonne B est la même, la colonne A est également classée de petite à grande. dans la colonne B sont les mêmes, la colonne A est Les valeurs correspondantes sont soustraites et le résultat est inséré dans la colonne C

    Tout d'abord, les fichiers CSV peuvent être lus ligne par ligne. L'intervalle entre les différentes cellules d'une même ligne est ,, et n à la fin de la ligne indique la fin. L'idée est donc de la lire ligne. par ligne, enregistrez-la sous forme de liste binaire et comparez-la dans l'ordre. Une fois la comparaison terminée, utilisez join pour insérer , et n et enregistrez-la dans le fichier csv. Le code est le suivant :

    .
    
        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]]
    

    répondre
    0
  • Annulerrépondre