python - Matching parts of two csv files to return certain elements -


hello looking index match in excel new python data sets far large excel now

i dumb question right down as possible cause data contains alot of irrelevant information problem

csv (has 3 basic columns)

name, date, value 

csv b (has 2 columns)

value, score 

csv c (i want create using python; 2 columns)

name, score 

all want enter date , have rows in csv match "date" , "score" associated "value" row in csv in csv b , returning in csv c along name of person. rinse , repeat through every row

any appreciated don't seem getting far

here working script using python's csv module:

it prompts user input date (format m-d-yy), reads csva row row check if date in each row matches inputted date.

if yes, checks if value corresponds date current row of matches of rows in csvb.

if there matches, write name csva , score csvb csvc.

import csv date = input('enter date: ').strip()  = csv.reader( open('csva.csv', newline=''), delimiter=',') matches = 0  # reads each row of csva row_of_a in a:      # removes whitespace before , after of each string in each row of csva     row_of_a = [string.strip() string in row_of_a]      # if date of row in csva has equal value inputted date     if row_of_a[1] == date:         b = csv.reader( open('csvb.csv', newline=''), delimiter=',')          # reads each row of csvb         row_of_b in b:              # removes whitespace before , after of each string in each row of csvb             row_of_b = [string.strip() string in row_of_b]              # if value of row in csva equal value of row in csvb             if row_of_a[2] == row_of_b[0]:                  # if csvc.csv not exist                 try:                     open('csvc.csv', 'r')                 except:                     c = open('csvc.csv', 'a')                     print('name,', 'score', file=c)                  c = open('csvc.csv', 'a')                  # writes name csva , value csvb csvc                 print(row_of_a[0] + ', ' + row_of_b[1], file=c)  m = 'matches' if matches > 1 else 'match' print('found', matches, m) 

sample csv files:

csva.csv

name, date, value john, 2-6-15, 10 ray, 3-5-14, 25 khay, 4-4-12, 30 jake, 2-6-15, 100 

csvb.csv

value, score 10, 500 25, 200 30, 300 100, 250 

sample run:

>>> enter date: 2-6-15 found 2 matches 

csvc.csv (generated script)

name, score john, 500 jake, 250 

Comments

Popular posts from this blog

android - Gradle sync Error:Configuration with name 'default' not found -

java - Andrioid studio start fail: Fatal error initializing 'null' -

html - jQuery UI Sortable - Remove placeholder after item is dropped -