in reply to Process and combine two CSV files into one

Depends on what your processing scripts do, how you need to combine the data, and what "the data" is.

I have no idea what is in %arrays but I can tell you it's a really bad name for a variable.

  • Comment on Re: Process and combine two CSV files into one

Replies are listed 'Best First'.
Re^2: Process and combine two CSV files into one
by DrAxeman (Scribe) on Aug 09, 2005 at 16:48 UTC
    Sorry. That was a horrible way to ask for help on something. Now that I'm trying, I find it's harder to ask properly than I thought.

    My CSV files look like:
    IP,Domain,ServerName 10.160.0.8,0, 10.160.0.9,0, 10.160.0.10,EURORSCG,ERWWDC1 10.160.0.11,EURORSCG,ERWWSQLWEB 10.160.0.12,EURORSCG,ERWWSEARCH 10.160.0.13,EURORSCG,ERWWNAB 10.160.0.14,EURORSCG,ERWWCOMMUNITIES
    and
    IP,DaysUptime,OS,RAM,OSSP,InstallDate,CPUSpeed,CPUCount,CPUType 10.160.0.10,19,Microsoft_Windows_2000_Server_Domain_Controller,1024,4, +12_2_2003,995,1,Intel_Pentium_III 10.160.0.11,266,Microsoft_Windows_2000_Server,2048,3,11_21_2003,3000,4 +,Intel_Xeon 10.160.0.12,21,Microsoft_Windows_2000_Server,1024,3,11_24_2003,1000,1, +Intel_Pentium_III 10.160.0.13,25,Microsoft_Windows_2000_Server,1024,3,11_20_2003,1000,1, +Intel_Pentium_III 10.160.0.14,3,Microsoft_Windows_2000_Server,1024,4,8_28_2002,1000,1,In +tel_Pentium_III 10.160.0.15,25,Microsoft_Windows_2000_Server,1024,4,5_23_2003,995,2,In +tel_Pentium_III

    The files get inputted as hash arrays, %hosts and %sysinfo. I'd like to combined both into %combined, using the IP column as a key. I'd like it to look like:
    IP,Domain,ServerName,DaysUptime,OS,RAM,OSSP,InstallDate,CPUSpeed,CPUCo +unt,CPUType 10.160.0.8,0, 10.160.0.9,0, 10.160.0.10,EURORSCG,ERWWDC1,19,Microsoft_Windows_2000_Server_Domain_C +ontroller,1024,4,12_2_2003,995,1,Intel_Pentium_III 10.160.0.11,EURORSCG,ERWWSQLWEB,266,Microsoft_Windows_2000_Server,2048 +,3,11_21_2003,3000,4,Intel_Xeon

Re^2: Process and combine two CSV files into one
by DrAxeman (Scribe) on Aug 10, 2005 at 17:31 UTC
    The final step of my process is causing me the most headache. I have all but the last table combined. Ths issues are:

    The data in the last table looks like:

    Server,Statistic,Average "ERWWCOMMUNITIES","MemoryPagessec",16.436370 "ERWWCOMMUNITIES","NetworkInterfaceCompaqEthernetFastEthernetAdapterMo +duleBytesT otalsec",157380.618090 "ERWWCOMMUNITIES","PhysicalDisk0CPCTDiskTime",33960995.990210 "ERWWCOMMUNITIES","PhysicalDisk1DPCTDiskTime",3158277.602200 "ERWWCOMMUNITIES","PhysicalDiskTotalPCTDiskTime",2541682.536690 "ERWWCOMMUNITIES","PhysicalDiskTotalAvgDiskQueueLength",508335953.6655 +60 "ERWWCOMMUNITIES","ProcessorTotalPCTProcessorTime",1.838210

    The first column contains the data I will use to join to the other table. The second column will determine where the data in column 3 will go.

    How do I perform a join that will collect this data? My other table looks like:
    IP,ServerName,Domain,DaysUptime,OS,RAM,OSSP,InstallDate,CPUSpeed,CPUCo +unt,CPUType,PartitionSize,PartitionFree 10.160.0.1,, 10.160.0.2,, 10.160.0.3,, 10.160.0.4,, 10.160.0.5,, 10.160.0.6,, 10.160.0.7,, 10.160.0.8,, 10.160.0.9,, 10.160.0.10,ERWWDC1,EURORSCG,19,Microsoft_Windows_2000_Server_Domain_C +ontroller,1024,4,12_2_2003,995,1,Intel_Pentium_III,8400,4600 10.160.0.11,ERWWSQLWEB,EURORSCG,266,Microsoft_Windows_2000_Server,2048 +,3,11_21_2003,3000,4,Intel_Xeon,205000,113700 10.160.0.12,ERWWSEARCH,EURORSCG,21,Microsoft_Windows_2000_Server,1024, +3,11_24_2003,1000,1,Intel_Pentium_III,67700,61000

    I need all the data from the second table (a left join, right?) and the relevant data from the first table.

    Ideally, the columns for the final table should look something like:
    IP,ServerName,Domain,DaysUptime,OS,RAM,OSSP,InstallDate,CPUSpeed,CPUCo +unt, CPUType,PartitionSize,PartitionFree,MemoryPagessec,NetworkBytessec, PhysicalDiskTotalPCTDiskTime,PhysicalDiskTotalAvgDiskQueueLength, ProcessorTotalPCTProcessorTime