कैसे है कि दो कॉलम की तुलना में दो अलग अलग csv फ़ाइलें की विशेषताओं का एक स्तंभ भी हटा सकते हैं?

वोट
-3

अजगर, MySQL और MongoDB के कोडर से एक समाधान की उम्मीद: Hej इस मामले के लिए एक समाधान के लिए देख रहे हैं।

मामला: स्तंभ के लिए पंक्ति और स्तंभ के लिए, फ़ाइल 1 और फ़ाइल की तुलना करें 2 लाइन द्वारा मूल्यों में एक कॉलम (col_F) का विस्तार करने के !!

  • हम दो फ़ाइलें (file1 और करें 2) के बीच एक रिश्ता है, जो col_A है

अपेक्षित परिणाम से कम है

Final results_ extended file2 with col_F
col_A col_B col_C   col_D   col_F
A1       B    C       D      F1
A2       B    C       D      F2
A5       B    C       D      F5
AZ       B    C       D      FZ
AX       B    C       D      FX
A#       B    C       D      F#
A2       B    C       D      F2


            File1
                col_A       col_F
                    A1       F1
                    A2       F2
                    A5       F5
                    AZ       FZ
                    AX       FX
                    A#       F#
                    A2       F2

            File2 before extension
                  col_A  col_B  col_C   col_D
                    A1  B        C       D
                    A2  B        C       D
                    A5  B        C       D
                    AZ  B        C       D
                    AX  B        C       D
                    A#  B        C       D
                    A2  B        C       D
02/12/2019 को 23:55
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
1

आप कहते हैं कि आप अजगर, MySQL या MongoDB में समाधान चाहते हैं। लेकिन आप "पर्ल" के साथ सवाल टैग किया है। तो यहाँ एक पर्ल समाधान है।

#!/usr/bin/perl

use strict;
use warnings;

my %file1 = get_file1();

open my $fh2, '<', 'File2' or die "File 2: $!\n";

chomp(my $header = <$fh2>);
print "$header\tcol_F\n";

while (<$fh2>) {
  chomp;
  my $colA = (split ' ')[0];
  print "$_\t$file1{$colA}\n";
}

sub get_file1 {
  my %hash;

  open my $fh1, '<', 'File1' or die "File 1: $!\n";

  <$fh1>; # skip headers
  while (<$fh1>) {
    chomp;
    my ($key, $val) = split ' ';
    $hash{$key} = $val;
  }

  return %hash;
}
03/12/2019 को 12:01
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more