'Finding a value from one row in another row
I currently have two spread sheets and I need to find the value from one row and match it up to another row. My code is:
with open('design_products_view.csv') as design_file, open('templates_view.csv') as templates:
designs = csv.reader(design_file, delimiter=',')
template_files = csv.reader(templates, delimiter=',')
containsProduct = "Circle"
for row in designs:
if containsProduct in row[1]:
rowValue = row[1].split(' ')[0]
for row in template_files:
if row[1] != "width":
print(rowValue)
if rowValue in row[1]:
print('found')
I compare the values from two csvs. The issue I'm having is that one csv rowValue displays an escape back slash like so:
1.0\
1.0\
1.0\
1.0\
1.0\
1.0\
When I check if this value rowValue is in row[1] it doesn't match up.
In example rowValue is 1.0\ and row[1] is 1.00
Any idea how I can accomplish this?
I also attempted to remove the backspace escape with:
rowValue = row[1].split('/')[0]
Sample data: templates_view.csv
"id","width","height","attribute_item_id","created_at","updated_at","design_id"
2584,1.50,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
2585,1.50,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
2586,2.00,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
2587,2.00,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
2588,2.50,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
2589,2.50,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
2590,3.00,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
2591,3.00,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
design_products_view.csv
"id","name","price","product","thumbnail","thumbnail_url","template","description","active_description","stages","variations","attributes","printings","order","active","author","created","updated","template_id"
15,"1.0\" Circle",0,0,"thumbnails/lumise-media-01_round-curled-sticker-PacerPlaceholder-12.png","https://design.pacerlabels.com/data/thumbnails/eRsp0afJYlN2.png","","Available in White BOPP - Clear BOPP - Silver Metallic BOPP - Holographic Metallic BOPP and Kraft.",0,"JTdCJTIyVHlONUJiSHVRcSUyMiUzQSU3QiUyMmVkaXRfem9uZSUyMiUzQSU3QiUyMmhlaWdodCUyMiUzQTM3OSUyQyUyMndpZHRoJTIyJTNBMzc5JTJDJTIybGVmdCUyMiUzQTAuNSUyQyUyMnRvcCUyMiUzQTAuNSUyQyUyMnJhZGl1cyUyMiUzQSUyMjEwMCUyMiU3RCUyQyUyMnVybCUyMiUzQSUyMnByb2R1Y3RzJTJGbDBuMHA5Y3Muc3ZnJTIyJTJDJTIyc291cmNlJTIyJTNBJTIydXBsb2FkcyUyMiUyQyUyMm92ZXJsYXklMjIlM0FmYWxzZSUyQyUyMnByb2R1Y3Rfd2lkdGglMjIlM0E0MDAlMkMlMjJwcm9kdWN0X2hlaWdodCUyMiUzQTQwMCUyQyUyMnRlbXBsYXRlJTIyJTNBJTdCJTdEJTJDJTIyc2l6ZSUyMiUzQSU3QiUyMndpZHRoJTIyJTNBJTIyMS4xMjUlMjIlMkMlMjJoZWlnaHQlMjIlM0ElMjIxLjEyNSUyMiUyQyUyMmNvbnN0cmFpbiUyMiUzQXRydWUlMkMlMjJ1bml0JTIyJTNBJTIyaW5jaCUyMiU3RCUyQyUyMmluY2x1ZGVfYmFzZSUyMiUzQWZhbHNlJTJDJTIyY3JvcF9tYXJrc19ibGVlZCUyMiUzQWZhbHNlJTJDJTIyb3JpZW50YXRpb24lMjIlM0ElMjJwb3J0cmFpdCUyMiUyQyUyMmxhYmVsJTIyJTNBJTIyU3RhcnQlMjBzdGFnZSUyMiU3RCU3RA==","JTdCJTIyZGVmYXVsdCUyMiUzQSUyMiUyMiUyQyUyMmF0dHJzJTIyJTNBJTVCJTVEJTJDJTIydmFyaWF0aW9ucyUyMiUzQSU3QiU3RCU3RA==","JTdCJTdE","%7B%7D",0,1,"","2022-02-11 22:38:44","2022-03-17 23:26:52",NULL
16,"1.063\" Circle",0,0,"thumbnails/lumise-media-01_round-curled-sticker-PacerPlaceholder-13.png","https://design.pacerlabels.com/data/thumbnails/YSAsea9cRpdz.png","","Available in White BOPP - Clear BOPP - Silver Metallic BOPP - Holographic Metallic BOPP and Kraft.",0,"JTdCJTIyVHlONUJiSHVRcSUyMiUzQSU3QiUyMmVkaXRfem9uZSUyMiUzQSU3QiUyMmhlaWdodCUyMiUzQTM4MSUyQyUyMndpZHRoJTIyJTNBMzgxJTJDJTIybGVmdCUyMiUzQTAuNSUyQyUyMnRvcCUyMiUzQTAuNSUyQyUyMnJhZGl1cyUyMiUzQSUyMjEwMCUyMiU3RCUyQyUyMnVybCUyMiUzQSUyMnByb2R1Y3RzJTJGbDBuMHA5Y3Muc3ZnJTIyJTJDJTIyc291cmNlJTIyJTNBJTIydXBsb2FkcyUyMiUyQyUyMm92ZXJsYXklMjIlM0FmYWxzZSUyQyUyMnByb2R1Y3Rfd2lkdGglMjIlM0E0MDAlMkMlMjJwcm9kdWN0X2hlaWdodCUyMiUzQTQwMCUyQyUyMnRlbXBsYXRlJTIyJTNBJTdCJTdEJTJDJTIyc2l6ZSUyMiUzQSU3QiUyMndpZHRoJTIyJTNBJTIyMS4xODc1JTIyJTJDJTIyaGVpZ2h0JTIyJTNBJTIyMS4xODc1JTIyJTJDJTIyY29uc3RyYWluJTIyJTNBdHJ1ZSUyQyUyMnVuaXQlMjIlM0ElMjJpbmNoJTIyJTdEJTJDJTIyaW5jbHVkZV9iYXNlJTIyJTNBZmFsc2UlMkMlMjJjcm9wX21hcmtzX2JsZWVkJTIyJTNBZmFsc2UlMkMlMjJvcmllbnRhdGlvbiUyMiUzQSUyMnBvcnRyYWl0JTIyJTJDJTIybGFiZWwlMjIlM0ElMjJTdGFydCUyMHN0YWdlJTIyJTdEJTdE","JTdCJTIyZGVmYXVsdCUyMiUzQSUyMiUyMiUyQyUyMmF0dHJzJTIyJTNBJTVCJTVEJTJDJTIydmFyaWF0aW9ucyUyMiUzQSU3QiU3RCU3RA==","JTdCJTdE","%7B%7D",0,1,"","2022-02-11 23:09:44","2022-03-17 23:27:00",NULL
17,"1.125\" Circle",0,0,"thumbnails/lumise-media-01_round-curled-sticker-PacerPlaceholder-14.png","https://design.pacerlabels.com/data/thumbnails/HREyNGId87lO.png","","Available in White BOPP - Clear BOPP - Silver Metallic BOPP - Holographic Metallic BOPP and Kraft.",0,"JTdCJTIyVHlONUJiSHVRcSUyMiUzQSU3QiUyMmVkaXRfem9uZSUyMiUzQSU3QiUyMmhlaWdodCUyMiUzQTM3OSUyQyUyMndpZHRoJTIyJTNBMzc5JTJDJTIybGVmdCUyMiUzQTAuNSUyQyUyMnRvcCUyMiUzQTAuNSUyQyUyMnJhZGl1cyUyMiUzQSUyMjEwMCUyMiU3RCUyQyUyMnVybCUyMiUzQSUyMnByb2R1Y3RzJTJGbDBuMHA5Y3Muc3ZnJTIyJTJDJTIyc291cmNlJTIyJTNBJTIydXBsb2FkcyUyMiUyQyUyMm92ZXJsYXklMjIlM0FmYWxzZSUyQyUyMnByb2R1Y3Rfd2lkdGglMjIlM0E0MDAlMkMlMjJwcm9kdWN0X2hlaWdodCUyMiUzQTQwMCUyQyUyMnRlbXBsYXRlJTIyJTNBJTdCJTdEJTJDJTIyc2l6ZSUyMiUzQSU3QiUyMndpZHRoJTIyJTNBJTIyMS4yNSUyMiUyQyUyMmhlaWdodCUyMiUzQSUyMjEuMjUlMjIlMkMlMjJjb25zdHJhaW4lMjIlM0F0cnVlJTJDJTIydW5pdCUyMiUzQSUyMmluY2glMjIlN0QlMkMlMjJpbmNsdWRlX2Jhc2UlMjIlM0FmYWxzZSUyQyUyMmNyb3BfbWFya3NfYmxlZWQlMjIlM0FmYWxzZSUyQyUyMm9yaWVudGF0aW9uJTIyJTNBJTIycG9ydHJhaXQlMjIlMkMlMjJsYWJlbCUyMiUzQSUyMlN0YXJ0JTIwc3RhZ2UlMjIlN0QlN0Q=","JTdCJTIyZGVmYXVsdCUyMiUzQSUyMiUyMiUyQyUyMmF0dHJzJTIyJTNBJTVCJTVEJTJDJTIydmFyaWF0aW9ucyUyMiUzQSU3QiU3RCU3RA==","JTdCJTdE","%7B%7D",0,1,"","2022-02-11 23:14:53","2022-03-17 23:27:09",NULL
Solution 1:[1]
Well, firstly I'd recommend you to normalized your data, meaning: remove the '' slash from your csv file before processing it, if it's not possible, below you'll see a working example of your code and I think you've missed the double '\' because you'll need to escape it before comparing the values:
import csv
with open('design_products_view.csv') as design_file, open('templates_view.csv') as templates:
designs = csv.reader(design_file, delimiter=',')
template_files = csv.reader(templates, delimiter=',')
containsProduct = "Circle"
for row in designs:
if containsProduct in row[1]:
rowValue = row[1].split('\\')[0] # Note the '\\'
for row in template_files:
if row[1] != "width":
print(rowValue)
if rowValue in row[1]:
print('found')
I've used the data (templates_view.csv) sample below by adding one more row with a '1.00' value to exemplify the solution.
"id","width","height","attribute_item_id","created_at","updated_at","design_id"
2584,1.50,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
2585,1.50,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
2586,2.00,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
2587,2.00,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
2588,2.50,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
2589,2.50,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
2590,3.00,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
2591,3.00,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
2591,1.00,0.50,10,"2022-01-27 17:52:22","2022-01-27 17:52:22",NULL
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Bruno |
