Удалить строки после сравнения файлов csv (pandas, csv, python) - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь сравнить два файла csv и удалить строки из второго файла, если значение «Группа» не существует как элемент «Категория 2» в файле 1. однако у меня нет большого опыта в этом, поэтому я не уверен в своем подходе. Я немного повозился с pandas, а также пробовал массу других вещей. как мне улучшить этот код, чтобы я мог сравнивать два столбца с разными заголовками. в настоящее время строки не печатаются, поскольку я считаю, что сравниваются целые строки? приведенные ниже результаты должны помочь прояснить ситуацию. заранее спасибо.

with open('file1.csv', 'r') as t1, open('file2.csv', 'r') as t2:
    fileone = t1.readlines()
    filetwo = t2.readlines()

with open('update.csv', 'w') as outFile:
    for line in filetwo:
        if line in fileone:
            outFile.write(line)

файл 1

All Lists                   
List 1                  
Category 1  Category 2  Category 3  Category 4  Category 5  Category 6
            element1            x   
            element2            x   
            element3            x   
            element4            x   
            element5            x   
List 2                  
Category 1  Category 2  Category 3  Category 4  Category 5  Category 6
            card1           x   
            card2           x   
            card3           x   
            card4           x   
            card5           x   
List 3                  
Category 1  Category 2  Category 3  Category 4  Category 5  Category 6
            box1            x   
            box2            x   
            box3            x   
            box4            x   
            box5            x   

файл 2

name                                        id
job                                     number
address                                 none    
address                                 xyz 
address                                 date    
            company name                            
            quarter report                          
            date                            
Group   Manager     quarter1    quarter2    quarter3    quarter4                total
element2    A           $          $           $           $                      $
notElement  B           $          $           $           $                      $
card3       C           $          $           $           $                      $
box4        D           $          $           $           $                      $
element3    E           $          $           $           $                      $
box1        F           $          $           $           $                      $
notElement  B           $          $           $           $                      $
notElement  C           $          $           $           $                      $             
card7       D           $          $           $           $                      $
element4    E           $          $           $           $                      $
                                        
               quarter1 quarter2 quarter3 quarter4                      
average           $        $                                
results          none     none                              
missed                     1                                
missed                     1            

желаемый файл csv:

Group   Manager     quarter1    quarter2    quarter3    quarter4                total
element2    A           $          $           $           $                      $
card3       C           $          $           $           $                      $
box4        D           $          $           $           $                      $
element3    E           $          $           $           $                      $
box1        F           $          $           $           $                      $
card7       D           $          $           $           $                      $
element4    E           $          $           $           $                      $
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...