View or edit on GitHub
This page is synchronized from trase/data/cote_divoire/cocoa/logistics/q4_2025/originals/originals_to_standardised.ipynb. Last modified on 2026-09-20 13:50 CEST by Nicolas Martin.
Please view or edit the original file there; changes should be reflected here after a midnight build (CET time),
or manually triggering it with a GitHub action (link).
Aiming for this format:
COMPANY;DISCL_COUNTRY_NAME;DISCL_TRADER_NAME;DISCL_AREA_NAME;DISCL_SUPPLIER_ABRVNAME;DISCL_SUPPLIER_FULLNAME;DISCL_SUPPLIER_TYPE;DISCL_LONGITUDE;DISCL_LATITUDE;DISCL_YEAR;DISCL_NUMBER_FARMERS;DISCL_VOLUMES;DISCL_VOLUMES_UNIT;DISCL_CERTIFICATION_NAME;DISCL_CERTIFICATION_PCT;DISTRICT_NAME;DISTRICT_GEOCODE;LOCALITY_NAME;TRADER_NAME;CAM_BUYERS;IS_CAM_V3;IS_JRC;JRC_BUYER_ID CARGILL;IVORY_COAST;NA;NA;S.O.C.O.N.A.VA-COOP-CA;NA;COOPERATIVE;-6.452173099938271;6.875132237998441;2020;581;NA;NA;"CARGILL COCOA PROMISE; UTZ";NA;NA;NA;NA;NA;NA;FALSE;NA;NA
can take coordinates from previous years disclosures (filter for CIV)
/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/world_cocoa_logistics/out/consolidated_disclosures.csv
check if the coops found by Gemini are not already in our dataset
/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/gemini_output
headings = ["COMPANY","DISCL_COUNTRY_NAME","DISCL_TRADER_NAME","DISCL_AREA_NAME",
"DISCL_SUPPLIER_ABRVNAME","DISCL_SUPPLIER_FULLNAME","DISCL_SUPPLIER_TYPE",
"DISCL_LONGITUDE","DISCL_LATITUDE","DISCL_YEAR",
"DISCL_NUMBER_FARMERS","DISCL_VOLUMES","DISCL_VOLUMES_UNIT",
"DISCL_CERTIFICATION_NAME","DISCL_CERTIFICATION_PCT","DISTRICT_NAME",
"DISTRICT_GEOCODE","LOCALITY_NAME","TRADER_NAME","CAM_BUYERS","IS_CAM_V3","IS_JRC","JRC_BUYER_ID"]
Scraped maps
# function for use with Touton scraped data
import re
def extract_cooperative_data(data_string):
"""
Extracts cooperative names and coordinates from the provided data string.
Args:
data_string: A string containing the cooperative data.
Returns:
A list of dictionaries, where each dictionary represents a cooperative
and contains its name and coordinates.
"""
# Regex to find all coordinate pairs (latitude, longitude)
coordinates_regex = re.compile(r'\[null,\[(-?\d+\.\d+),(-?\d+\.\d+.*?)\]\]')
# Regex to find all cooperative names
names_regex = re.compile(r'\[\[\"([A-Z0-9\.\s-]+)\"\]\]')
# Find all matches for coordinates and names
coordinates = coordinates_regex.findall(data_string)
names = names_regex.findall(data_string)
# Combine the names and coordinates into a list of dictionaries
cooperatives = []
for name, (lat, lon) in zip(names, coordinates):
cooperatives.append({
"DISCL_SUPPLIER_ABRVNAME": name,
"DISCL_LATITUDE": float(lat),
"DISCL_LONGITUDE": float(lon)
})
return cooperatives
import ast
import pandas as pd
fp = "/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/raw/scraped_map/blommer_map_scraped.txt"
with open(fp, "r") as file:
text = file.read()
data_list = ast.literal_eval(text)
columns = [
"DISCL_COUNTRY_NAME",
"DISCL_TRADER_NAME",
"DISCL_SUPPLIER_ABRVNAME",
"DISCL_AREA_NAME",
"DISCL_LATITUDE",
"DISCL_LONGITUDE"
]
# Build a list of dicts for each row
rows = []
for data in data_list:
rows.append({
"DISCL_COUNTRY_NAME": data[6],
"DISCL_TRADER_NAME": data[7],
"DISCL_SUPPLIER_ABRVNAME": data[8],
"DISCL_AREA_NAME": data[9],
"DISCL_LATITUDE": data[10],
"DISCL_LONGITUDE": data[11]
})
big_df = pd.DataFrame(rows, columns=columns)
big_df["DISCL_YEAR"] = 2024
big_df["DISCL_SUPPLIER_TYPE"] = "Cooperative"
big_df["COMPANY"] = "Blommer Chocolate Company"
big_df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_blommer.csv", index=False)
import ast
import pandas as pd
import re
fp = "/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/raw/scraped_map/touton_map_scraped.txt"
with open(fp, "r") as file:
text = file.read()
text = text.replace('\\', '') # Remove backslashes
text = text.replace('[,', '')
text = re.sub(r'\\u[0-9a-fA-F]{4}', '', text) # Remove unicode escapes
text = text.replace('null', 'None')
print(text)
# Convert text to Python object
data = ast.literal_eval(text)
# The list of coops is the third element (index 2) in the outer list
coops = data[2]
results = []
for coop in coops:
# Each coop: [[], null, 1, 1, [[null, [lat, lon]], ...], ...], [[["COOP NAME"]]]]
coords = coop[4][0][1] # [lat, lon]
name = coop[5][0][0][0] # "COOP NAME"
results.append((name, coords[0], coords[1]))
# Print results
for name, lat, lon in results:
print(f"{name}, {lat},{lon}")
"Cocoa cooperatives 2019 - 2020 Touton partners in Ivory Coast","",[[,None,2,None,None,None,[[[],None,1,1,[[None,[6.5473,-7.491500000000001]],"0",None,"pDE_Of-e5PM",[6.5473,-7.4915],[0,0],"33402A5098000001"],[["ECYG-COOP-CA"]]],[[],None,1,1,[[None,[5.6765,-4.5728]],"0",None,"pDE_Of-e5PM",[5.6765,-4.5728],[0,0],"33402A5098000002"],[["CAYSI-SCOOPS"]]],[[],None,1,1,[[None,[5.6319,-6.6311]],"0",None,"pDE_Of-e5PM",[5.6319,-6.6311],[0,0],"33402A5098000003"],[["COOP CA ABO"]]],[[],None,1,1,[[None,[5.5005,-3.6602]],"0",None,"pDE_Of-e5PM",[5.5005,-3.6602],[0,0],"33402A5098000004"],[["COOP-CA ESPOIR"]]],[[],None,1,1,[[None,[5.4169,-6.5605]],"0",None,"pDE_Of-e5PM",[5.4169,-6.5605],[0,0],"33402A5098000005"],[["SCAES COOP-CA"]]],[[],None,1,1,[[None,[5.852400000000001,-5.6829]],"0",None,"pDE_Of-e5PM",[5.8524,-5.6829],[0,0],"33402A5098000006"],[["SNAPAL"]]],[[],None,1,1,[[None,[5.6645,-6.6426]],"0",None,"pDE_Of-e5PM",[5.6645,-6.6426],[0,0],"33402A5098000007"],[["SOCAGNIPI COOP-CA"]]],[[],None,1,1,[[None,[5.8654,-5.683]],"0",None,"pDE_Of-e5PM",[5.8654,-5.683],[0,0],"33402A5098000008"],[["SOCOPDAL"]]],[[],None,1,1,[[None,[6.5693,-7.9952]],"0",None,"pDE_Of-e5PM",[6.5693,-7.9952],[0,0],"33402A5098000009"],[["COOP-CA-ECABLO"]]],[[],None,1,1,[[None,[7.2526,-7.2378]],"0",None,"pDE_Of-e5PM",[7.2526,-7.2378],[0,0],"33402A509800000A"],[["COOP-CA ECAKO"]]],[[],None,1,1,[[None,[6.7348,-7.3512]],"0",None,"pDE_Of-e5PM",[6.7348,-7.3512],[0,0],"33402A509800000B"],[["NOUVELLE SCOOPRANYD COOP-CA"]]],[[],None,1,1,[[None,[7.4034,-7.5499]],"0",None,"pDE_Of-e5PM",[7.4034,-7.5499],[0,0],"33402A509800000C"],[["COOP-CA-ZRANSSA"]]],[[],None,1,1,[[None,[6.2239,-7.4859]],"0",None,"pDE_Of-e5PM",[6.2239,-7.4859],[0,0],"33402A509800000D"],[["CAEZ-COOP-CA"]]],[[],None,1,1,[[None,[6.7473,-7.3625]],"0",None,"pDE_Of-e5PM",[6.7473,-7.3625],[0,0],"33402A509800000E"],[["COOP-CA CAPSUD"]]],[[],None,1,1,[[None,[7.4133000000000004,-7.5537]],"0",None,"pDE_Of-e5PM",[7.4133,-7.5537],[0,0],"33402A509800000F"],[["SCOOPS-COOPADES"]]],[[],None,1,1,[[None,[5.6656,-6.6439]],"0",None,"pDE_Of-e5PM",[5.6656,-6.6439],[0,0],"33402A5098000010"],[["COOPAO SCOOPS"]]],[[],None,1,1,[[None,[6.5489,-7.4976]],"0",None,"pDE_Of-e5PM",[6.5489,-7.4976],[0,0],"33402A5098000011"],[["S.CO.A.G.G.-COOP-CA"]]],[[],None,1,1,[[None,[6.5416,-7.5057]],"0",None,"pDE_Of-e5PM",[6.5416,-7.5057],[0,0],"33402A5098000012"],[["SCOOPS-COOPROSAS"]]],[[],None,1,1,[[None,[5.6117,-6.6018]],"0",None,"pDE_Of-e5PM",[5.6117,-6.6018],[0,0],"33402A5098000013"],[["COOP-CA-ECAPR"]]],[[],None,1,1,[[None,[6.5435,-7.5054]],"0",None,"pDE_Of-e5PM",[6.5435,-7.5054],[0,0],"33402A5098000014"],[["COOP-CA SOCA BANCO"]]],[[],None,1,1,[[None,[6.8598,-6.4427]],"0",None,"pDE_Of-e5PM",[6.8598,-6.4427],[0,0],"33402A5098000015"],[["SOCOPAD"]]],[[],None,1,1,[[None,[5.246,-5.002200000000001]],"0",None,"pDE_Of-e5PM",[5.246,-5.0022],[0,0],"33402A5098000016"],[["COOP-CA SOCOPLA"]]],[[],None,1,1,[[None,[6.236,-6.1709]],"0",None,"pDE_Of-e5PM",[6.236,-6.1709],[0,0],"33402A5098000017"],[["CAJPG-SCOOPS"]]],[[],None,1,1,[[None,[6.19311,-6.1162]],"0",None,"pDE_Of-e5PM",[6.19311,-6.1162],[0,0],"33402A5098000018"],[["PLAZA-COOP-CA GAGNOA"]]],[[],None,1,1,[[None,[5.7662,-6.5337]],"0",None,"pDE_Of-e5PM",[5.7662,-6.5337],[0,0],"33402A5098000019"],[["PLAZA-COOP-CA SOUBRE"]]],[[],None,1,1,[[None,[4.7592,-6.6457]],"0",None,"pDE_Of-e5PM",[4.7592,-6.6457],[0,0],"33402A509800001A"],[["CA2S-CA"]]],[[],None,1,1,[[None,[5.412800000000001,-3.0336]],"0",None,"pDE_Of-e5PM",[5.4128,-3.0336],[0,0],"33402A509800001B"],[["COOPRAMA-CA"]]],[[],None,1,1,[[None,[6.1198,-5.968000000000001]],"0",None,"pDE_Of-e5PM",[6.1198,-5.968],[0,0],"33402A509800001C"],[["SCOOPS ECAPG"]]],[[],None,1,1,[[None,[6.2469,-4.4222]],"0",None,"pDE_Of-e5PM",[6.2469,-4.4222],[0,0],"33402A509800001D"],[["SCOOPAC-COOP-CA"]]],[[],None,1,1,[[None,[5.6685,-6.645]],"0",None,"pDE_Of-e5PM",[5.6685,-6.645],[0,0],"33402A509800001E"],[["S.C.P.K COOP-CA"]]],[[],None,1,1,[[None,[5.4299,-6.5588]],"0",None,"pDE_Of-e5PM",[5.4299,-6.5588],[0,0],"33402A509800001F"],[["SOCAET2"]]]]]],None,None,true,None,None,None,None,[["pDE_Of-e5PM",1,None,None,None,"https://www.google.com/maps/d/u/0/kml?midu003d1IZSmd-q0M6UD85OIQ5shGcfE589U5QCJu0026resourcekeyu0026lidu003dpDE_Of-e5PM",None,None,None,None,None,2,None,[[["33402A5098000001",[[[6.5473,-7.4915]]],None,None,0,[["COOPERATIVE (Official name CCC)",["ECYG-COOP-CA"],1],None,None,[["LOCATION NAME",["GUIGLO"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1306],3],["GPS LATITUDE",["6.5473"],1],["GPS LONGITUDE",["-7.4915"],1]]],None,2],["33402A5098000002",[[[5.6765,-4.5728]]],None,None,0,[["COOPERATIVE (Official name CCC)",["CAYSI-SCOOPS"],1],None,None,[["LOCATION NAME",["SIKENSI"],1],["NUMBER OF FARMERS 2019/2020",[None,None,714],3],["GPS LATITUDE",["5.6765"],1],["GPS LONGITUDE",["-4.5728"],1]]],None,3],["33402A5098000003",[[[5.6319,-6.6311]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP CA ABO"],1],None,None,[["LOCATION NAME",["GBLETIA"],1],["NUMBER OF FARMERS 2019/2020",[None,None,639],3],["GPS LATITUDE",["5.6319"],1],["GPS LONGITUDE",["-6.6311"],1]]],None,4],["33402A5098000004",[[[5.5005,-3.6602]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA ESPOIR"],1],None,None,[["LOCATION NAME",["ALEPE"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1378],3],["GPS LATITUDE",["5.5005"],1],["GPS LONGITUDE",["-3.6602"],1]]],None,5],["33402A5098000005",[[[5.4169,-6.5605]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SCAES COOP-CA"],1],None,None,[["LOCATION NAME",["MEAGUI"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1363],3],["GPS LATITUDE",["5.4169"],1],["GPS LONGITUDE",["-6.5605"],1]]],None,6],["33402A5098000006",[[[5.8524,-5.6829]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SNAPAL"],1],None,None,[["LOCATION NAME",["LAKOTA"],1],["NUMBER OF FARMERS 2019/2020",[None,None,4120],3],["GPS LATITUDE",["5.8524"],1],["GPS LONGITUDE",["-5.6829"],1]]],None,7],["33402A5098000007",[[[5.6645,-6.6426]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SOCAGNIPI COOP-CA"],1],None,None,[["LOCATION NAME",["GNIPI 2"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1190],3],["GPS LATITUDE",["5.6645"],1],["GPS LONGITUDE",["-6.6426"],1]]],None,8],["33402A5098000008",[[[5.8654,-5.683]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SOCOPDAL"],1],None,None,[["LOCATION NAME",["LAKOTA"],1],["NUMBER OF FARMERS 2019/2020",[None,None,2634],3],["GPS LATITUDE",["5.8654"],1],["GPS LONGITUDE",["-5.6830"],1]]],None,9],["33402A5098000009",[[[6.5693,-7.9952]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA-ECABLO"],1],None,None,[["LOCATION NAME",["BLOLEQUIN"],1],["NUMBER OF FARMERS 2019/2020",[None,None,712],3],["GPS LATITUDE",["6.5693"],1],["GPS LONGITUDE",["-7.9952"],1]]],None,10],["33402A509800000A",[[[7.2526,-7.2378]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA ECAKO"],1],None,None,[["LOCATION NAME",["KOUIBLY"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1020],3],["GPS LATITUDE",["7.2526"],1],["GPS LONGITUDE",["-7.2378"],1]]],None,11],["33402A509800000B",[[[6.7348,-7.3512]]],None,None,0,[["COOPERATIVE (Official name CCC)",["NOUVELLE SCOOPRANYD COOP-CA"],1],None,None,[["LOCATION NAME",["DUEKOUE"],1],["NUMBER OF FARMERS 2019/2020",[None,None,495],3],["GPS LATITUDE",["6.7348"],1],["GPS LONGITUDE",["-7.3512"],1]]],None,12],["33402A509800000C",[[[7.4034,-7.5499]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA-ZRANSSA"],1],None,None,[["LOCATION NAME",["MAN"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1770],3],["GPS LATITUDE",["7.4034"],1],["GPS LONGITUDE",["-7.5499"],1]]],None,13],["33402A509800000D",[[[6.2239,-7.4859]]],None,None,0,[["COOPERATIVE (Official name CCC)",["CAEZ-COOP-CA"],1],None,None,[["LOCATION NAME",["ZAGNE"],1],["NUMBER OF FARMERS 2019/2020",[None,None,458],3],["GPS LATITUDE",["6.2239"],1],["GPS LONGITUDE",["-7.4859"],1]]],None,14],["33402A509800000E",[[[6.7473,-7.3625]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA CAPSUD"],1],None,None,[["LOCATION NAME",["DUEKOUE"],1],["NUMBER OF FARMERS 2019/2020",[None,None,778],3],["GPS LATITUDE",["6.7473"],1],["GPS LONGITUDE",["-7.3625"],1]]],None,15],["33402A509800000F",[[[7.4133,-7.5537]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SCOOPS-COOPADES"],1],None,None,[["LOCATION NAME",["MAN"],1],["NUMBER OF FARMERS 2019/2020",[None,None,465],3],["GPS LATITUDE",["7.4133"],1],["GPS LONGITUDE",["-7.5537"],1]]],None,16],["33402A5098000010",[[[5.6656,-6.6439]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOPAO SCOOPS"],1],None,None,[["LOCATION NAME",["GNIPI 2"],1],["NUMBER OF FARMERS 2019/2020",[None,None,831],3],["GPS LATITUDE",["5.6656"],1],["GPS LONGITUDE",["-6.6439"],1]]],None,17],["33402A5098000011",[[[6.5489,-7.4976]]],None,None,0,[["COOPERATIVE (Official name CCC)",["S.CO.A.G.G.-COOP-CA"],1],None,None,[["LOCATION NAME",["GUIGLO"],1],["NUMBER OF FARMERS 2019/2020",[None,None,3486],3],["GPS LATITUDE",["6.5489"],1],["GPS LONGITUDE",["-7.4976"],1]]],None,18],["33402A5098000012",[[[6.5416,-7.5057]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SCOOPS-COOPROSAS"],1],None,None,[["LOCATION NAME",["GUIGLO"],1],["NUMBER OF FARMERS 2019/2020",[None,None,2314],3],["GPS LATITUDE",["6.5416"],1],["GPS LONGITUDE",["-7.5057"],1]]],None,19],["33402A5098000013",[[[5.6117,-6.6018]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA-ECAPR"],1],None,None,[["LOCATION NAME",["ROBERT PORTE"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1296],3],["GPS LATITUDE",["5.6117"],1],["GPS LONGITUDE",["-6.6018"],1]]],None,20],["33402A5098000014",[[[6.5435,-7.5054]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA SOCA BANCO"],1],None,None,[["LOCATION NAME",["GUIGLO"],1],["NUMBER OF FARMERS 2019/2020",[None,None,403],3],["GPS LATITUDE",["6.5435"],1],["GPS LONGITUDE",["-7.5054"],1]]],None,21],["33402A5098000015",[[[6.8598,-6.4427]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SOCOPAD"],1],None,None,[["LOCATION NAME",["DALOA"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1317],3],["GPS LATITUDE",["6.8598"],1],["GPS LONGITUDE",["-6.4427"],1]]],None,22],["33402A5098000016",[[[5.246,-5.0022]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA SOCOPLA"],1],None,None,[["LOCATION NAME",["GRAND LAHOU"],1],["NUMBER OF FARMERS 2019/2020",[None,None,723],3],["GPS LATITUDE",["5.2460"],1],["GPS LONGITUDE",["-5.0022"],1]]],None,23],["33402A5098000017",[[[6.236,-6.1709]]],None,None,0,[["COOPERATIVE (Official name CCC)",["CAJPG-SCOOPS"],1],None,None,[["LOCATION NAME",["GUIBEROUA"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1195],3],["GPS LATITUDE",["6.2360"],1],["GPS LONGITUDE",["-6.1709"],1]]],None,24],["33402A5098000018",[[[6.19311,-6.1162]]],None,None,0,[["COOPERATIVE (Official name CCC)",["PLAZA-COOP-CA GAGNOA"],1],None,None,[["LOCATION NAME",["GUIBEROUA"],1],["NUMBER OF FARMERS 2019/2020",[None,None,897],3],["GPS LATITUDE",["6.19311"],1],["GPS LONGITUDE",["-6.1162"],1]]],None,25],["33402A5098000019",[[[5.7662,-6.5337]]],None,None,0,[["COOPERATIVE (Official name CCC)",["PLAZA-COOP-CA SOUBRE"],1],None,None,[["LOCATION NAME",["SOUBRE"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1050],3],["GPS LATITUDE",["5.7662"],1],["GPS LONGITUDE",["-6.5337"],1]]],None,26],["33402A509800001A",[[[4.7592,-6.6457]]],None,None,0,[["COOPERATIVE (Official name CCC)",["CA2S-CA"],1],None,None,[["LOCATION NAME",["SAN PEDRO"],1],["NUMBER OF FARMERS 2019/2020",[None,None,492],3],["GPS LATITUDE",["4.7592"],1],["GPS LONGITUDE",["-6.6457"],1]]],None,27],["33402A509800001B",[[[5.4128,-3.0336]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOPRAMA-CA"],1],None,None,[["LOCATION NAME",["MAFERE"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1666],3],["GPS LATITUDE",["5.4128"],1],["GPS LONGITUDE",["-3.0336"],1]]],None,28],["33402A509800001C",[[[6.1198,-5.968]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SCOOPS ECAPG"],1],None,None,[["LOCATION NAME",["GAGNOA"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1803],3],["GPS LATITUDE",["6.1198"],1],["GPS LONGITUDE",["-5.9680"],1]]],None,29],["33402A509800001D",[[[6.2469,-4.4222]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SCOOPAC-COOP-CA"],1],None,None,[["LOCATION NAME",["CECHI"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1518],3],["GPS LATITUDE",["6.2469"],1],["GPS LONGITUDE",["-4.4222"],1]]],None,30],["33402A509800001E",[[[5.6685,-6.645]]],None,None,0,[["COOPERATIVE (Official name CCC)",["S.C.P.K COOP-CA"],1],None,None,[["LOCATION NAME",["GNIPI 2"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1132],3],["GPS LATITUDE",["5.6685"],1],["GPS LONGITUDE",["-6.6450"],1]]],None,31],["33402A509800001F",[[[5.4299,-6.5588]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SOCAET2"],1],None,None,[["LOCATION NAME",["TOUADJI 2"],1],["NUMBER OF FARMERS 2019/2020",[None,None,936],3],["GPS LATITUDE",["5.4299"],1],["GPS LONGITUDE",["-6.5588"],1]]],None,32]]
Traceback (most recent call last):
File ~/Library/Python/3.10/lib/python/site-packages/IPython/core/interactiveshell.py:3579 in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
Cell In[54], line 17
data = ast.literal_eval(text)
File /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ast.py:64 in literal_eval
node_or_string = parse(node_or_string.lstrip(" \t"), mode='eval')
File /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ast.py:50 in parse
return compile(source, filename, mode, flags,
File <unknown>:1
"Cocoa cooperatives 2019 - 2020 Touton partners in Ivory Coast","",[[,None,2,None,None,None,[[[],None,1,1,[[None,[6.5473,-7.491500000000001]],"0",None,"pDE_Of-e5PM",[6.5473,-7.4915],[0,0],"33402A5098000001"],[["ECYG-COOP-CA"]]],[[],None,1,1,[[None,[5.6765,-4.5728]],"0",None,"pDE_Of-e5PM",[5.6765,-4.5728],[0,0],"33402A5098000002"],[["CAYSI-SCOOPS"]]],[[],None,1,1,[[None,[5.6319,-6.6311]],"0",None,"pDE_Of-e5PM",[5.6319,-6.6311],[0,0],"33402A5098000003"],[["COOP CA ABO"]]],[[],None,1,1,[[None,[5.5005,-3.6602]],"0",None,"pDE_Of-e5PM",[5.5005,-3.6602],[0,0],"33402A5098000004"],[["COOP-CA ESPOIR"]]],[[],None,1,1,[[None,[5.4169,-6.5605]],"0",None,"pDE_Of-e5PM",[5.4169,-6.5605],[0,0],"33402A5098000005"],[["SCAES COOP-CA"]]],[[],None,1,1,[[None,[5.852400000000001,-5.6829]],"0",None,"pDE_Of-e5PM",[5.8524,-5.6829],[0,0],"33402A5098000006"],[["SNAPAL"]]],[[],None,1,1,[[None,[5.6645,-6.6426]],"0",None,"pDE_Of-e5PM",[5.6645,-6.6426],[0,0],"33402A5098000007"],[["SOCAGNIPI COOP-CA"]]],[[],None,1,1,[[None,[5.8654,-5.683]],"0",None,"pDE_Of-e5PM",[5.8654,-5.683],[0,0],"33402A5098000008"],[["SOCOPDAL"]]],[[],None,1,1,[[None,[6.5693,-7.9952]],"0",None,"pDE_Of-e5PM",[6.5693,-7.9952],[0,0],"33402A5098000009"],[["COOP-CA-ECABLO"]]],[[],None,1,1,[[None,[7.2526,-7.2378]],"0",None,"pDE_Of-e5PM",[7.2526,-7.2378],[0,0],"33402A509800000A"],[["COOP-CA ECAKO"]]],[[],None,1,1,[[None,[6.7348,-7.3512]],"0",None,"pDE_Of-e5PM",[6.7348,-7.3512],[0,0],"33402A509800000B"],[["NOUVELLE SCOOPRANYD COOP-CA"]]],[[],None,1,1,[[None,[7.4034,-7.5499]],"0",None,"pDE_Of-e5PM",[7.4034,-7.5499],[0,0],"33402A509800000C"],[["COOP-CA-ZRANSSA"]]],[[],None,1,1,[[None,[6.2239,-7.4859]],"0",None,"pDE_Of-e5PM",[6.2239,-7.4859],[0,0],"33402A509800000D"],[["CAEZ-COOP-CA"]]],[[],None,1,1,[[None,[6.7473,-7.3625]],"0",None,"pDE_Of-e5PM",[6.7473,-7.3625],[0,0],"33402A509800000E"],[["COOP-CA CAPSUD"]]],[[],None,1,1,[[None,[7.4133000000000004,-7.5537]],"0",None,"pDE_Of-e5PM",[7.4133,-7.5537],[0,0],"33402A509800000F"],[["SCOOPS-COOPADES"]]],[[],None,1,1,[[None,[5.6656,-6.6439]],"0",None,"pDE_Of-e5PM",[5.6656,-6.6439],[0,0],"33402A5098000010"],[["COOPAO SCOOPS"]]],[[],None,1,1,[[None,[6.5489,-7.4976]],"0",None,"pDE_Of-e5PM",[6.5489,-7.4976],[0,0],"33402A5098000011"],[["S.CO.A.G.G.-COOP-CA"]]],[[],None,1,1,[[None,[6.5416,-7.5057]],"0",None,"pDE_Of-e5PM",[6.5416,-7.5057],[0,0],"33402A5098000012"],[["SCOOPS-COOPROSAS"]]],[[],None,1,1,[[None,[5.6117,-6.6018]],"0",None,"pDE_Of-e5PM",[5.6117,-6.6018],[0,0],"33402A5098000013"],[["COOP-CA-ECAPR"]]],[[],None,1,1,[[None,[6.5435,-7.5054]],"0",None,"pDE_Of-e5PM",[6.5435,-7.5054],[0,0],"33402A5098000014"],[["COOP-CA SOCA BANCO"]]],[[],None,1,1,[[None,[6.8598,-6.4427]],"0",None,"pDE_Of-e5PM",[6.8598,-6.4427],[0,0],"33402A5098000015"],[["SOCOPAD"]]],[[],None,1,1,[[None,[5.246,-5.002200000000001]],"0",None,"pDE_Of-e5PM",[5.246,-5.0022],[0,0],"33402A5098000016"],[["COOP-CA SOCOPLA"]]],[[],None,1,1,[[None,[6.236,-6.1709]],"0",None,"pDE_Of-e5PM",[6.236,-6.1709],[0,0],"33402A5098000017"],[["CAJPG-SCOOPS"]]],[[],None,1,1,[[None,[6.19311,-6.1162]],"0",None,"pDE_Of-e5PM",[6.19311,-6.1162],[0,0],"33402A5098000018"],[["PLAZA-COOP-CA GAGNOA"]]],[[],None,1,1,[[None,[5.7662,-6.5337]],"0",None,"pDE_Of-e5PM",[5.7662,-6.5337],[0,0],"33402A5098000019"],[["PLAZA-COOP-CA SOUBRE"]]],[[],None,1,1,[[None,[4.7592,-6.6457]],"0",None,"pDE_Of-e5PM",[4.7592,-6.6457],[0,0],"33402A509800001A"],[["CA2S-CA"]]],[[],None,1,1,[[None,[5.412800000000001,-3.0336]],"0",None,"pDE_Of-e5PM",[5.4128,-3.0336],[0,0],"33402A509800001B"],[["COOPRAMA-CA"]]],[[],None,1,1,[[None,[6.1198,-5.968000000000001]],"0",None,"pDE_Of-e5PM",[6.1198,-5.968],[0,0],"33402A509800001C"],[["SCOOPS ECAPG"]]],[[],None,1,1,[[None,[6.2469,-4.4222]],"0",None,"pDE_Of-e5PM",[6.2469,-4.4222],[0,0],"33402A509800001D"],[["SCOOPAC-COOP-CA"]]],[[],None,1,1,[[None,[5.6685,-6.645]],"0",None,"pDE_Of-e5PM",[5.6685,-6.645],[0,0],"33402A509800001E"],[["S.C.P.K COOP-CA"]]],[[],None,1,1,[[None,[5.4299,-6.5588]],"0",None,"pDE_Of-e5PM",[5.4299,-6.5588],[0,0],"33402A509800001F"],[["SOCAET2"]]]]]],None,None,true,None,None,None,None,[["pDE_Of-e5PM",1,None,None,None,"https://www.google.com/maps/d/u/0/kml?midu003d1IZSmd-q0M6UD85OIQ5shGcfE589U5QCJu0026resourcekeyu0026lidu003dpDE_Of-e5PM",None,None,None,None,None,2,None,[[["33402A5098000001",[[[6.5473,-7.4915]]],None,None,0,[["COOPERATIVE (Official name CCC)",["ECYG-COOP-CA"],1],None,None,[["LOCATION NAME",["GUIGLO"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1306],3],["GPS LATITUDE",["6.5473"],1],["GPS LONGITUDE",["-7.4915"],1]]],None,2],["33402A5098000002",[[[5.6765,-4.5728]]],None,None,0,[["COOPERATIVE (Official name CCC)",["CAYSI-SCOOPS"],1],None,None,[["LOCATION NAME",["SIKENSI"],1],["NUMBER OF FARMERS 2019/2020",[None,None,714],3],["GPS LATITUDE",["5.6765"],1],["GPS LONGITUDE",["-4.5728"],1]]],None,3],["33402A5098000003",[[[5.6319,-6.6311]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP CA ABO"],1],None,None,[["LOCATION NAME",["GBLETIA"],1],["NUMBER OF FARMERS 2019/2020",[None,None,639],3],["GPS LATITUDE",["5.6319"],1],["GPS LONGITUDE",["-6.6311"],1]]],None,4],["33402A5098000004",[[[5.5005,-3.6602]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA ESPOIR"],1],None,None,[["LOCATION NAME",["ALEPE"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1378],3],["GPS LATITUDE",["5.5005"],1],["GPS LONGITUDE",["-3.6602"],1]]],None,5],["33402A5098000005",[[[5.4169,-6.5605]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SCAES COOP-CA"],1],None,None,[["LOCATION NAME",["MEAGUI"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1363],3],["GPS LATITUDE",["5.4169"],1],["GPS LONGITUDE",["-6.5605"],1]]],None,6],["33402A5098000006",[[[5.8524,-5.6829]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SNAPAL"],1],None,None,[["LOCATION NAME",["LAKOTA"],1],["NUMBER OF FARMERS 2019/2020",[None,None,4120],3],["GPS LATITUDE",["5.8524"],1],["GPS LONGITUDE",["-5.6829"],1]]],None,7],["33402A5098000007",[[[5.6645,-6.6426]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SOCAGNIPI COOP-CA"],1],None,None,[["LOCATION NAME",["GNIPI 2"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1190],3],["GPS LATITUDE",["5.6645"],1],["GPS LONGITUDE",["-6.6426"],1]]],None,8],["33402A5098000008",[[[5.8654,-5.683]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SOCOPDAL"],1],None,None,[["LOCATION NAME",["LAKOTA"],1],["NUMBER OF FARMERS 2019/2020",[None,None,2634],3],["GPS LATITUDE",["5.8654"],1],["GPS LONGITUDE",["-5.6830"],1]]],None,9],["33402A5098000009",[[[6.5693,-7.9952]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA-ECABLO"],1],None,None,[["LOCATION NAME",["BLOLEQUIN"],1],["NUMBER OF FARMERS 2019/2020",[None,None,712],3],["GPS LATITUDE",["6.5693"],1],["GPS LONGITUDE",["-7.9952"],1]]],None,10],["33402A509800000A",[[[7.2526,-7.2378]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA ECAKO"],1],None,None,[["LOCATION NAME",["KOUIBLY"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1020],3],["GPS LATITUDE",["7.2526"],1],["GPS LONGITUDE",["-7.2378"],1]]],None,11],["33402A509800000B",[[[6.7348,-7.3512]]],None,None,0,[["COOPERATIVE (Official name CCC)",["NOUVELLE SCOOPRANYD COOP-CA"],1],None,None,[["LOCATION NAME",["DUEKOUE"],1],["NUMBER OF FARMERS 2019/2020",[None,None,495],3],["GPS LATITUDE",["6.7348"],1],["GPS LONGITUDE",["-7.3512"],1]]],None,12],["33402A509800000C",[[[7.4034,-7.5499]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA-ZRANSSA"],1],None,None,[["LOCATION NAME",["MAN"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1770],3],["GPS LATITUDE",["7.4034"],1],["GPS LONGITUDE",["-7.5499"],1]]],None,13],["33402A509800000D",[[[6.2239,-7.4859]]],None,None,0,[["COOPERATIVE (Official name CCC)",["CAEZ-COOP-CA"],1],None,None,[["LOCATION NAME",["ZAGNE"],1],["NUMBER OF FARMERS 2019/2020",[None,None,458],3],["GPS LATITUDE",["6.2239"],1],["GPS LONGITUDE",["-7.4859"],1]]],None,14],["33402A509800000E",[[[6.7473,-7.3625]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA CAPSUD"],1],None,None,[["LOCATION NAME",["DUEKOUE"],1],["NUMBER OF FARMERS 2019/2020",[None,None,778],3],["GPS LATITUDE",["6.7473"],1],["GPS LONGITUDE",["-7.3625"],1]]],None,15],["33402A509800000F",[[[7.4133,-7.5537]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SCOOPS-COOPADES"],1],None,None,[["LOCATION NAME",["MAN"],1],["NUMBER OF FARMERS 2019/2020",[None,None,465],3],["GPS LATITUDE",["7.4133"],1],["GPS LONGITUDE",["-7.5537"],1]]],None,16],["33402A5098000010",[[[5.6656,-6.6439]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOPAO SCOOPS"],1],None,None,[["LOCATION NAME",["GNIPI 2"],1],["NUMBER OF FARMERS 2019/2020",[None,None,831],3],["GPS LATITUDE",["5.6656"],1],["GPS LONGITUDE",["-6.6439"],1]]],None,17],["33402A5098000011",[[[6.5489,-7.4976]]],None,None,0,[["COOPERATIVE (Official name CCC)",["S.CO.A.G.G.-COOP-CA"],1],None,None,[["LOCATION NAME",["GUIGLO"],1],["NUMBER OF FARMERS 2019/2020",[None,None,3486],3],["GPS LATITUDE",["6.5489"],1],["GPS LONGITUDE",["-7.4976"],1]]],None,18],["33402A5098000012",[[[6.5416,-7.5057]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SCOOPS-COOPROSAS"],1],None,None,[["LOCATION NAME",["GUIGLO"],1],["NUMBER OF FARMERS 2019/2020",[None,None,2314],3],["GPS LATITUDE",["6.5416"],1],["GPS LONGITUDE",["-7.5057"],1]]],None,19],["33402A5098000013",[[[5.6117,-6.6018]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA-ECAPR"],1],None,None,[["LOCATION NAME",["ROBERT PORTE"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1296],3],["GPS LATITUDE",["5.6117"],1],["GPS LONGITUDE",["-6.6018"],1]]],None,20],["33402A5098000014",[[[6.5435,-7.5054]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA SOCA BANCO"],1],None,None,[["LOCATION NAME",["GUIGLO"],1],["NUMBER OF FARMERS 2019/2020",[None,None,403],3],["GPS LATITUDE",["6.5435"],1],["GPS LONGITUDE",["-7.5054"],1]]],None,21],["33402A5098000015",[[[6.8598,-6.4427]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SOCOPAD"],1],None,None,[["LOCATION NAME",["DALOA"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1317],3],["GPS LATITUDE",["6.8598"],1],["GPS LONGITUDE",["-6.4427"],1]]],None,22],["33402A5098000016",[[[5.246,-5.0022]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOP-CA SOCOPLA"],1],None,None,[["LOCATION NAME",["GRAND LAHOU"],1],["NUMBER OF FARMERS 2019/2020",[None,None,723],3],["GPS LATITUDE",["5.2460"],1],["GPS LONGITUDE",["-5.0022"],1]]],None,23],["33402A5098000017",[[[6.236,-6.1709]]],None,None,0,[["COOPERATIVE (Official name CCC)",["CAJPG-SCOOPS"],1],None,None,[["LOCATION NAME",["GUIBEROUA"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1195],3],["GPS LATITUDE",["6.2360"],1],["GPS LONGITUDE",["-6.1709"],1]]],None,24],["33402A5098000018",[[[6.19311,-6.1162]]],None,None,0,[["COOPERATIVE (Official name CCC)",["PLAZA-COOP-CA GAGNOA"],1],None,None,[["LOCATION NAME",["GUIBEROUA"],1],["NUMBER OF FARMERS 2019/2020",[None,None,897],3],["GPS LATITUDE",["6.19311"],1],["GPS LONGITUDE",["-6.1162"],1]]],None,25],["33402A5098000019",[[[5.7662,-6.5337]]],None,None,0,[["COOPERATIVE (Official name CCC)",["PLAZA-COOP-CA SOUBRE"],1],None,None,[["LOCATION NAME",["SOUBRE"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1050],3],["GPS LATITUDE",["5.7662"],1],["GPS LONGITUDE",["-6.5337"],1]]],None,26],["33402A509800001A",[[[4.7592,-6.6457]]],None,None,0,[["COOPERATIVE (Official name CCC)",["CA2S-CA"],1],None,None,[["LOCATION NAME",["SAN PEDRO"],1],["NUMBER OF FARMERS 2019/2020",[None,None,492],3],["GPS LATITUDE",["4.7592"],1],["GPS LONGITUDE",["-6.6457"],1]]],None,27],["33402A509800001B",[[[5.4128,-3.0336]]],None,None,0,[["COOPERATIVE (Official name CCC)",["COOPRAMA-CA"],1],None,None,[["LOCATION NAME",["MAFERE"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1666],3],["GPS LATITUDE",["5.4128"],1],["GPS LONGITUDE",["-3.0336"],1]]],None,28],["33402A509800001C",[[[6.1198,-5.968]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SCOOPS ECAPG"],1],None,None,[["LOCATION NAME",["GAGNOA"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1803],3],["GPS LATITUDE",["6.1198"],1],["GPS LONGITUDE",["-5.9680"],1]]],None,29],["33402A509800001D",[[[6.2469,-4.4222]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SCOOPAC-COOP-CA"],1],None,None,[["LOCATION NAME",["CECHI"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1518],3],["GPS LATITUDE",["6.2469"],1],["GPS LONGITUDE",["-4.4222"],1]]],None,30],["33402A509800001E",[[[5.6685,-6.645]]],None,None,0,[["COOPERATIVE (Official name CCC)",["S.C.P.K COOP-CA"],1],None,None,[["LOCATION NAME",["GNIPI 2"],1],["NUMBER OF FARMERS 2019/2020",[None,None,1132],3],["GPS LATITUDE",["5.6685"],1],["GPS LONGITUDE",["-6.6450"],1]]],None,31],["33402A509800001F",[[[5.4299,-6.5588]]],None,None,0,[["COOPERATIVE (Official name CCC)",["SOCAET2"],1],None,None,[["LOCATION NAME",["TOUADJI 2"],1],["NUMBER OF FARMERS 2019/2020",[None,None,936],3],["GPS LATITUDE",["5.4299"],1],["GPS LONGITUDE",["-6.5588"],1]]],None,32]]
^
SyntaxError: invalid syntax
df = pd.read_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/raw/scraped_map/touton_map_as_csv.csv")
columns = [
"DISCL_COUNTRY_NAME",
"DISCL_TRADER_NAME",
"DISCL_SUPPLIER_ABRVNAME",
"DISCL_AREA_NAME",
"DISCL_LATITUDE",
"DISCL_LONGITUDE"
]
df["DISCL_YEAR"] = 2024
df["DISCL_SUPPLIER_TYPE"] = "Cooperative"
df["COMPANY"] = "Touton"
df["COUNTRY"] = "Ivory Coast"
df.rename(columns={
"Cooperative Name": "DISCL_SUPPLIER_ABRVNAME",
"Location": "DISCL_AREA_NAME",
"Latitude": "DISCL_LATITUDE",
"Longitude": "DISCL_LONGITUDE",
"Number of Farmers": "DISCL_NUMBER_FARMERS",
}, inplace=True)
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_touton.csv", index=False)
import geopandas as gpd
df = gpd.read_file("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/raw/scraped_map/cargill_coops_2324.geojson")
df.year_joined.max()
np.int32(2023)
df["YEAR"] = 2024
df["COMPANY"] = "Cargill"
df.rename(columns={
"coop_name": "DISCL_SUPPLIER_ABRVNAME",
"gps_lat": "DISCL_LATITUDE",
"gps_long": "DISCL_LONGITUDE",
"country": "COUNTRY",
"certificat": "DISCL_CERTIFICATION_NAME",
"f__certifi": "DISCL_CERTIFICATION_PCT",
"location_t": "DISCL_SUPPLIER_TYPE"
}, inplace=True)
df.drop(columns=["year_joine", "geometry", "objectid"], inplace=True)
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_cargill.csv", index=False)
Tabula outputs
df= pd.read_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/raw/tabula_outputs/tabula-cote-d-ivoire-ofi-sustainable-cocoa-suppliers-2023-and-2024.csv")
df
| No | Farmer Group | Location | |
|---|---|---|---|
| 0 | 1 | CAAA | CENTRE-EST |
| 1 | 2 | CAAA SAND BOX | CENTRE-EST |
| 2 | 3 | CAABRO | EST |
| 3 | 4 | CAABRO SAND BOX | EST |
| 4 | 5 | CAAN | SUD-EST |
| ... | ... | ... | ... |
| 573 | 73 | COOP-CA NECAB | SUD-OUEST |
| 574 | 74 | COOP-CA-CABS | CENTRE-OUEST |
| 575 | 74 | COOP-CA-CABS | SUD-OUEST |
| 576 | 75 | COOP-CA-PAN | EST |
| 577 | 76 | COOP-CA-UDAN | OUEST |
578 rows × 3 columns
df["DISCL_YEAR"] = 2024
df["DISCL_SUPPLIER_TYPE"] = "Cooperative"
df["COMPANY"] = "OFI"
df["COUNTRY"] = "Ivory Coast"
df["DISCL_SUPPLIER_ABRVNAME"] = df["Farmer Group"]
df["DISCL_AREA_NAME"] = df["Location"]
df.drop(columns=["No","Farmer Group", "Location"], inplace=True)
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_OFI.csv", index=False)
df = pd.read_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/raw/tabula_outputs/ecom/ecom_CIV.csv")
df.rename(columns={
"Cooperative Name": "DISCL_SUPPLIER_ABRVNAME",
"Region": "DISTRICT_NAME",
"Full Name": "DISCL_SUPPLIER_FULLNAME"
}, inplace=True)
df["DISCL_YEAR"] = 2024
df["DISCL_SUPPLIER_TYPE"] = "Cooperative"
df["COMPANY"] = "ECOM"
df["COUNTRY"] = "Ivory Coast"
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_ecom.csv", index=False)
df= pd.read_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/raw/tabula_outputs/tabula-etg 2024.csv")
df.rename(columns={
"Country": "COUNTRY",
"Supplier Name": "DISCL_SUPPLIER_ABRVNAME",
"Latitude": "DISCL_LATITUDE",
"Longitude": "DISCL_LONGITUDE"
}, inplace=True)
df["DISCL_YEAR"] = 2024
df["DISCL_SUPPLIER_TYPE"] = "Cooperative"
df["COMPANY"] = "ETG"
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_etg.csv", index=False)
df= pd.read_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/raw/tabula_outputs/tabula-ferrero-cocoa-suppliers-list-23-24.csv")
df
| LOCATION ORIGIN | FARMER GROUP | FULL NAME | MAIN CITY | |
|---|---|---|---|---|
| 0 | CÔTE D’IVOIRE | ADA COOP-CA | Société Coopérative avec Conseil d'Administrat... | Dagadji |
| 1 | CÔTE D’IVOIRE | AHONTO COOP CA | Société Cooperative Agricole Ahonto de l’Indenié | Abengourou |
| 2 | CÔTE D’IVOIRE | AMIANGOUAN | Société Copérative Agricole Amiangouan de Appr... | Abengourou |
| 3 | CÔTE D’IVOIRE | APM DALOA COOP-CA | Société Cooperative Agricole Agir pour Man de ... | Daloa |
| 4 | CÔTE D’IVOIRE | BARA COOP-CA | Société Coopérative Agricole Bara de Bangolo | Duekoue |
| ... | ... | ... | ... | ... |
| 95 | CÔTE D’IVOIRE | SOUTRA COOP-CA | Société Coopérative avec Conseil d'Administrat... | Dibobly |
| 96 | CÔTE D’IVOIRE | SPAD DALOA | Société de Produits Agricoles de Daloa | Daloa |
| 97 | CÔTE D’IVOIRE | SPAD GAGNOA | Société de Produits Agricoles de Daloa | Gagnoa |
| 98 | CÔTE D’IVOIRE | UCA | Union des Sociétés Coopérative de la Sous-Préf... | Ayame |
| 99 | CÔTE D’IVOIRE | YEYASSO | Société Coopérative Avec Conseil d'Administrat... | Man |
100 rows × 4 columns
df.rename(columns={
"LOCATION ORIGIN": "COUNTRY",
"FARMER GROUP": "DISCL_SUPPLIER_ABRVNAME",
"FULL NAME": "DISCL_SUPPLIER_FULLNAME",
"MAIN CITY": "DISCL_AREA_NAME"
}, inplace=True)
df["DISCL_YEAR"] = 2024
df["DISCL_SUPPLIER_TYPE"] = "Cooperative"
df["COMPANY"] = "FERRERO"
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_ferrero.csv", index=False)
df= pd.read_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/raw/tabula_outputs/tabula-2023 T2 MARS COCOA SUPPLY CHAIN DISCLOSURE -Jan 2024 FINAL-3.csv")
df
| INDEX | COUNTRY | DISCL_SUPPLIER_ABRVNAME | |
|---|---|---|---|
| 0 | 23 | Cote d'Ivoire | ECAM SCOOPS |
| 1 | 24 | Cote d'Ivoire | SOCAG COOP-CA |
| 2 | 25 | Cote d'Ivoire | SOCOOPALAO COOP-CA |
| 3 | 26 | Cote d'Ivoire | SCOOPASO-COOP CA |
| 4 | 27 | Cote d'Ivoire | BENKADI COOPS |
| ... | ... | ... | ... |
| 110 | 136 | Cote d'Ivoire | SOCNAD |
| 111 | 137 | Cote d'Ivoire | CABG SCOOPS |
| 112 | 138 | Cote d'Ivoire | CABES (Cooperative Agricole Bacon Espoir) |
| 113 | 139 | Cote d'Ivoire | COOPANAM |
| 114 | 140 | Cote d'Ivoire | COOP CA-CPB |
115 rows × 3 columns
df.drop(columns=["INDEX"], inplace=True)
df["DISCL_YEAR"] = 2023
df["DISCL_SUPPLIER_TYPE"] = "Cooperative"
df["COMPANY"] = "MARS"
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2023_mars_fromlist.csv", index=False)
df= pd.read_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/raw/tabula_outputs/tabula-nestle_2025_responsible-sourcing-disclosure-cocoa.csv")
df
| Direct Supplier | Intermediary Supplier | Intermediary Supplier Location (Country) | Country of Origin | Type | |
|---|---|---|---|---|---|
| 0 | BARRY CALLEBEAUT | CABID II WAREHOUSE | Cote d'Ivoire | Cote d'Ivoire | Warehouse |
| 1 | BARRY CALLEBEAUT | CABZOU WAREHOUSE | Cote d'Ivoire | Cote d'Ivoire | Warehouse |
| 2 | BARRY CALLEBEAUT | CEXPAG WAREHOUSE | Cote d'Ivoire | Cote d'Ivoire | Warehouse |
| 3 | BARRY CALLEBEAUT | COOTIEN OULA WAREHOUSE | Cote d'Ivoire | Cote d'Ivoire | Warehouse |
| 4 | BARRY CALLEBEAUT | SCANDI WAREHOUSE | Cote d'Ivoire | Cote d'Ivoire | Warehouse |
| ... | ... | ... | ... | ... | ... |
| 132 | TOUTON | COOPRAMA-CA | Cote d'Ivoire | Cote d'Ivoire | Cooperative |
| 133 | TOUTON | S.C.P.K COOP-CA | Cote d'Ivoire | Cote d'Ivoire | Cooperative |
| 134 | TOUTON | SCOOPAC-COOP-CA | Cote d'Ivoire | Cote d'Ivoire | Cooperative |
| 135 | TOUTON | SCOOPS ECAPG | Cote d'Ivoire | Cote d'Ivoire | Cooperative |
| 136 | TOUTON | SOCAET2 | Cote d'Ivoire | Cote d'Ivoire | Cooperative |
137 rows × 5 columns
df.drop(columns=["Intermediary Supplier Location (Country)"], inplace=True)
df.rename(columns={
"Country of Origin": "COUNTRY",
"Intermediary Supplier": "DISCL_SUPPLIER_ABRVNAME",
"Direct Supplier": "DISCL_TRADER_NAME",
"Type": "DISCL_SUPPLIER_TYPE"
}, inplace=True)
df["DISCL_YEAR"] = 2024
df["DISCL_SUPPLIER_TYPE"] = "Cooperative"
df["COMPANY"] = "NESTLE"
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_nestle.csv", index=False)
import pandas as pd
import re
data = []
with open('/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/raw/scraped_map/whittakers_scraped_map.txt', 'r', encoding='utf-8') as f:
for line in f:
# Remove whitespace and skip empty lines
line = line.strip()
if not line:
continue
# Extract key-value pairs using regex
matches = re.findall(r'(\w+)=["]?([^" ]*)["]?', line)
row = {k: v for k, v in matches}
# Also extract :key="value" pairs
matches_colon = re.findall(r':(\w+)="([^"]*)"', line)
for k, v in matches_colon:
row[k] = v
data.append(row)
df = pd.DataFrame(data)
df['growers'] = pd.to_numeric(df['growers'], errors='coerce')
df['harvest'] = df['harvest'].apply(lambda x: x.replace(',', ''))
df['harvest'] = pd.to_numeric(df['harvest'], errors='coerce')
print(df)
village growers hectares harvest op
0 Akokofe 22 129.5 46454 Asankrangwa
1 Bethmanso 23 33 11931 Asankrangwa
2 Bokakore 29 28 10066 Asankrangwa
3 Congo 50 130 46901 Asankrangwa
4 Essakrom 34 139 49873 Asankrangwa
5 Jaman 29 110 39712 Asankrangwa
6 Kofigyan 54 118 42083 Asankrangwa
7 Kokoase 41 58 21243 Asankrangwa
8 Nkwantanum 61 221 78899 Asankrangwa
9 Nsabrekwa 24 82 29542 Asankrangwa
10 Nyamennae 36 77 27963 Asankrangwa
11 Sefwi 33 68 24992 Asankrangwa
12 Sika 15 20 7388 Asankrangwa
13 Sompre 61 156 55656 Asankrangwa
14 Takyikrom 22 48 17418 Asankrangwa
15 Tinadjei 30 135 48828 Asankrangwa
16 Yebrebrenyin 69 266 95143 Asankrangwa
17 Akotom 55 177 0 Tarkwa-Huni
18 Amoanda 44 75 0 Tarkwa-Huni
19 Awodua 36 131 0 Tarkwa-Huni
20 Boafri 36 97 0 Tarkwa-Huni
21 Benso 23 60 0 Tarkwa-Huni
22 Bompieso 88 228 0 Tarkwa-Huni
23 Bonsaso 29 96 0 Tarkwa-Huni
24 Bremang 80 165 0 Tarkwa-Huni
25 Esuoso 118 364 0 Tarkwa-Huni
26 Gordon 126 445 0 Tarkwa-Huni
27 Damso 20 51 0 Tarkwa-Huni
28 Huni 25 43 0 Tarkwa-Huni
29 Manso 17 68 0 Tarkwa-Huni
30 Nyamebekyere 12 28 0 Tarkwa-Huni
31 Pepesa 54 311 0 Tarkwa-Huni
32 Santia 32 77 0 Tarkwa-Huni
33 Timber 63 258 0 Tarkwa-Huni
34 Yayaho 23 77 0 Tarkwa-Huni
35 Agave 59 59 30453 Assin
36 Agbodza 40 167 78955 Assin
37 Asibrim 46 65 46048 Assin
38 Atenta 57 132 37395 Assin
39 Doriyem 124 516 131411 Assin
40 Ebiram 20 21 15740 Assin
41 Ghana 37 80 55298 Assin
42 Gold 68 134 62248 Assin
43 Kedakwen 40 86 38564 Assin
44 Nkranfuom 76 286 93149 Assin
45 Ntenkyeme 73 62 52933 Assin
46 Obiri 47 116 72467 Assin
47 Pankyiraso 28 80 28670 Assin
48 Pokua 30 56 48302 Assin
49 Sabena 27 43 21977 Assin
50 Sowodadiem 62 56 59845 Assin
51 Wawase 48 126 45034 Assin
df.groupby('op')['growers'].sum()
op
Asankrangwa 633
Assin 882
Tarkwa-Huni 881
Name: growers, dtype: int64
df.groupby('op')['harvest'].sum()
op
Asankrangwa 654092
Assin 918489
Tarkwa-Huni 0
Name: harvest, dtype: int64
villages_per_op = df.groupby('op')['village'].apply(list)
print(villages_per_op)
op
Asankrangwa [Akokofe, Bethmanso, Bokakore, Congo, Essakrom...
Assin [Agave, Agbodza, Asibrim, Atenta, Doriyem, Ebi...
Tarkwa-Huni [Akotom, Amoanda, Awodua, Boafri, Benso, Bompi...
Name: village, dtype: object
villages_per_op.Asankrangwa
['Akokofe',
'Bethmanso',
'Bokakore',
'Congo',
'Essakrom',
'Jaman',
'Kofigyan',
'Kokoase',
'Nkwantanum',
'Nsabrekwa',
'Nyamennae',
'Sefwi',
'Sika',
'Sompre',
'Takyikrom',
'Tinadjei',
'Yebrebrenyin']
import numpy as np
names = ['Asankrangwa', 'Tarkwa-Huni', 'Assin']
villages_lists = [villages_per_op['Asankrangwa'], villages_per_op['Tarkwa-Huni'], villages_per_op['Assin']]
out_df = pd.DataFrame({
"DISCL_SUPPLIER_ABRVNAME": names,
"DISCL_NUMBER_FARMERS":[633, 881, 882],
"DISCL_VOLUMES":[654092, np.nan, 918489],
"DISCL_AREA_NAME": villages_lists,
"DISCL_YEAR": 2023,
"COUNTRY": "Côte d'Ivoire",
"DISCL_SUPPLIER_TYPE": "Cooperative",
"COMPANY": "WHITTAKERS",
"DISCL_VOLUMES_UNIT": "kg"
})
# columns=["DISCL_AREA_NAME",
out_df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2023_whittakers.csv", index=False)
Text
df = pd.DataFrame()
df["DISCL_SUPPLIER_ABRVNAME"] = ["COODID", "DAKUA", "ECAKOOG", "NA"]
df["DISCL_YEAR"] = 2024
df["DISCL_SUPPLIER_TYPE"] = "Cooperative"
df["COMPANY"] = "GODIVA"
df["TRADER"] = ["ONEM", "ONEM", "ONEM", "BARRY CALLEBUT"]
df["COUNTRY"] = "Ivory Coast"
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_godiva.csv", index=False)
df = pd.DataFrame()
df["DISCL_SUPPLIER_ABRVNAME"] = ["SCOOPAG", "DAKUA", "COODIG", "CAPUM"]
df["DISCL_YEAR"] = 2024
df["DISCL_SUPPLIER_TYPE"] = "Cooperative"
df["COMPANY"] = "ONEM"
df["COUNTRY"] = "Ivory Coast"
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_onem.csv", index=False)
df = pd.DataFrame(columns=['DISCL_AREA_NAME', 'LOCALITY_NAME'])
df['DISCL_SUPPLIER_ABRVNAME'] = ['SCOOWEND', 'SCAGB' , 'SOCASS', 'SCAK ', 'SOCAGRI2' , 'CAGNAN',
'SCANG', 'SCAPD' , 'SOCOAMO' , 'SOCAT' , 'SCANFI', 'SCOOPAGED' , 'CAEHS',
'SCOOPNAG', 'SCAMED' , 'CAFUGO' , 'ECSP' , 'CAMAYE' , 'SOCAMEA', 'ECAKOOG']
df["COMPANY"] = "PURATOS"
df["DISCL_YEAR"] = 2024
df["DISCL_SUPPLIER_TYPE"] = "Cooperative"
df["COUNTRY"] = "Ivory Coast"
df['DISCL_SUPPLIER_FULLNAME'] = ['Société Cooperative Wend Bark',
'Société Coopérative Agricole de Gbagbam',
'Société Coopérative Agricole Sabary de Sago',
'Société Cooperative Agricole de Fatouakro',
'Société Coopérative Agricole De Grihiri 2',
'Société Agricole de Gnanpoadji',
'Societe Agricole de Grabo',
'Societe Cooperative Agricole Des Producteurs De Dogbo',
'Société Coopérative Agricole de Monogaga Carrefour',
'Société Agricole Cooperative de Tabou',
'Société Cooperative Agricole Niamkey Et Famille De L’Indenie',
'Societé Cooperative Garo est Divo',
'Coopérative Agricole Ety-Ewoun-Anien du Haut Sassandra',
'Société Coopérative des Nouveaux Agriculteurs de Gueyo',
'Société cooperative Agricole pour la maitrise de l’entraide durable',
'Societé Cooperative des Freres Unis Gobroko',
'Entreprise Cooperative de Saint Paul',
'Camayé Cooperative',
'SOCIETE COOPERATIVE MAN EDI ANOUANZE',
'Coopérative Agricole Koognanan de Grogouya en Abrégé']
df.loc[df['DISCL_SUPPLIER_ABRVNAME'] == 'CAMAYE', 'LOCALITY_NAME'] = 'Abengourou'
df.loc[df['DISCL_SUPPLIER_ABRVNAME'] == 'CAMAYE', 'DISCL_AREA_NAME'] = 'Region du Juablin'
df.loc[df['DISCL_SUPPLIER_ABRVNAME'] == 'SOCAMEA', 'LOCALITY_NAME'] = 'Man'
df.loc[df['DISCL_SUPPLIER_ABRVNAME'] == 'SOCAMEA', 'DISCL_AREA_NAME'] = 'Region des Montagnes'
df.loc[df['DISCL_SUPPLIER_ABRVNAME'] == 'ECAKOOG', 'LOCALITY_NAME'] = 'Lakota'
df.loc[df['DISCL_SUPPLIER_ABRVNAME'] == 'ECAKOOG', 'DISCL_AREA_NAME'] = 'Region du Loh-Djiboua'
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_puratos.csv", index=False)
df = pd.DataFrame()
df["DISCL_SUPPLIER_ABRVNAME"] = ["CAPEDIG (part of ECOOKIM)"]
df["DISCL_YEAR"] = 2024
df["DISCL_SUPPLIER_TYPE"] = "Cooperative"
df["COMPANY"] = "VALRHONA"
df["DISCL_AREA_NAME"] = "Dibobly, Guémon"
df["DISCL_LATITUDE"] = 6.742222
df["DISCL_LONGITUDE"] = -7.012278
df["COUNTRY"] = "Ivory Coast"
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_valrhona.csv", index=False)
df = pd.read_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_ritter_sport.csv")
df = pd.read_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/raw/excel/2024_transparance.csv")
df.rename(columns={
"SUPPLIER": "DISCL_SUPPLIER_ABRVNAME",
"LOCATION": "DISCL_AREA_NAME"
}, inplace=True)
df.drop(columns=["N"], inplace=True)
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_transparance.csv", index=False)
df = pd.read_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/raw/excel/2024_lindt_sprungli.csv")
df.rename(columns={
"Country": "DISCL_COUNTRY",
"Tier 2 Supplier": "DISCL_TRADER_NAME",
"Tier 1 Supplier": "TRADER_NAME",
"Farmer Group/District": "DISCL_SUPPLIER_ABRVNAME",
"Location": "DISCL_AREA_NAME"
}, inplace=True)
df = df[df.DISCL_COUNTRY=="Côte d'Ivoire"]
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_lindt_sprungli.csv", index=False)
import pandas as pd
import numpy as np
df = pd.read_excel("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/raw/excel/alter_eco_sourcing_2018-2024.xlsx")
df
| COMPANY | COUNTRY_NAME | TRADER_NAME | DISTRICT_NAME | DISTRICT_GEOCODE | SUPPLIER_ABRVNAME | SUPPLIER_FULLNAME | LONGITUDE | LATITUDE | YEAR | NUMBER_FARMERS | VOLUMES | VOLUMES_UNIT | CERTIFICATION_NAME | CERTIFICATION_PCT | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | ALTER ECO | IVORY COAST | NaN | NaN | NaN | PCBM | Producteurs de Cacao Biologique de la Mé | -3.640160 | 6.081498 | 2018 | 65 | NaN | NaN | FAIR FOR LIFE | NaN |
| 1 | ALTER ECO | IVORY COAST | NaN | NaN | NaN | PCBM | Producteurs de Cacao Biologique de la Mé | -3.640161 | 6.081499 | 2019 | 65 | NaN | NaN | FAIR FOR LIFE | NaN |
| 2 | ALTER ECO | IVORY COAST | NaN | NaN | NaN | PCBM | Producteurs de Cacao Biologique de la Mé | -3.640162 | 6.081500 | 2020 | 65 | NaN | NaN | FAIR FOR LIFE | NaN |
| 3 | ALTER ECO | IVORY COAST | NaN | NaN | NaN | PCBM | Producteurs de Cacao Biologique de la Mé | -3.640163 | 6.081501 | 2021 | 65 | NaN | NaN | FAIR FOR LIFE | NaN |
| 4 | ALTER ECO | IVORY COAST | NaN | NaN | NaN | PCBM | Producteurs de Cacao Biologique de la Mé | -3.640164 | 6.081502 | 2022 | 65 | NaN | NaN | FAIR FOR LIFE | NaN |
| 5 | ALTER ECO | IVORY COAST | NaN | NaN | NaN | PCBM | Producteurs de Cacao Biologique de la Mé | -3.640164 | 6.081502 | 2023 | 65 | NaN | NaN | FAIR FOR LIFE | NaN |
| 6 | ALTER ECO | IVORY COAST | NaN | NaN | NaN | PCBM | Producteurs de Cacao Biologique de la Mé | -3.640165 | 6.081503 | 2024 | 65 | NaN | NaN | FAIR FOR LIFE | NaN |
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_alter_eco.csv", index=False)
df.columns
Index(['COMPANY', 'COUNTRY_NAME', 'TRADER_NAME', 'DISTRICT_NAME',
'DISTRICT_GEOCODE', 'SUPPLIER_ABRVNAME', 'SUPPLIER_FULLNAME',
'LONGITUDE', 'LATITUDE', 'YEAR', 'NUMBER_FARMERS', 'VOLUMES',
'VOLUMES_UNIT', 'CERTIFICATION_NAME', 'CERTIFICATION_PCT'],
dtype='object')
# format tonys info
headings = ["COMPANY","DISCL_COUNTRY_NAME","DISCL_TRADER_NAME","DISCL_AREA_NAME",
"DISCL_SUPPLIER_ABRVNAME","DISCL_SUPPLIER_FULLNAME","DISCL_SUPPLIER_TYPE",
"DISCL_LONGITUDE","DISCL_LATITUDE","DISCL_YEAR",
"DISCL_NUMBER_FARMERS","DISCL_VOLUMES","DISCL_VOLUMES_UNIT",
"DISCL_CERTIFICATION_NAME","DISCL_CERTIFICATION_PCT","DISTRICT_NAME",
"DISTRICT_GEOCODE","LOCALITY_NAME","TRADER_NAME","CAM_BUYERS","IS_CAM_V3","IS_JRC","JRC_BUYER_ID"]
df = pd.DataFrame()
df['DISCL_SUPPLIER_ABRVNAME']=['ABOCFA', 'ASETENAPA', 'Asunafo', 'COOBADI', 'COOPAZA', 'CAYAT', 'ECAM', 'ECOJAD', 'ESCOPAG', 'KAPATCHIVA', 'SOCOOPACDI', 'Kukuom', 'DJOUMAN', 'SOCASIB', 'SICOPAG', 'SCAWOD', 'AHONTO', 'SOCADA', 'SOCA2PD']
df["COMPANY"] = "TONYS CHOCOLONELY"
df["DISCL_YEAR"] = 2024
df["DISCL_SUPPLIER_TYPE"] = "Cooperative"
df["COUNTRY"] = "Côte d'Ivoire"
df["DISCL_TRADER_NAME"] = [["Ocean", "Ecookim", "Barry Callebaut", "Baronie", "Cemoi"]]*len(df['DISCL_SUPPLIER_ABRVNAME'])
df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/2024_tonys_chocolonely.csv", index=False)
import os
import pandas as pd
# Define the folder path
folder_path = '/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/originals_2024/suppliers_formatted/'
# Initialize an empty list to store DataFrames
dataframes = []
# Iterate through each file in the folder
for fn in os.listdir(folder_path):
print(fn)
if fn.endswith('.csv'): # Check if the file is a CSV
file_path = os.path.join(folder_path, fn)
df = pd.read_csv(file_path) # Read the CSV into a DataFrame
dataframes.append(df) # Append the DataFrame to the list
# Combine all DataFrames vertically, aligning columns
combined_df = pd.concat(dataframes, ignore_index=True)
combined_df['DISCL_COUNTRY'].replace("Ivory Coast", "Côte d'Ivoire", inplace=True)
# Display the combined DataFrame
print(combined_df)
2024_lindt_sprungli.csv
2024_barry_callebut.csv
2024_nestle.csv
2024_puratos.csv
2024_tonys_chocolonely.csv
2024_onem.csv
2023_mars_frommap.csv
2024_ritter_sport.csv
2024_ferrero.csv
2024_cargill.csv
2024_blommer.csv
2024_OFI.csv
2023_unilever.csv
2024_valrhona.csv
2024_godiva.csv
2023_whittakers.csv
2024_transparance.csv
2024_alter_eco.csv
2024_etg.csv
2023_mars_fromlist.csv
2024_touton.csv
2024_ecom.csv
DISCL_COUNTRY TRADER_NAME DISCL_TRADER_NAME \
0 Côte d'Ivoire Barry Callebaut AG Société Africaine de Cacao
1 Côte d'Ivoire Barry Callebaut AG Société Africaine de Cacao
2 Côte d'Ivoire Barry Callebaut AG Société Africaine de Cacao
3 Côte d'Ivoire Barry Callebaut AG Société Africaine de Cacao
4 Côte d'Ivoire Barry Callebaut AG Société Africaine de Cacao
... ... ... ...
2245 Côte d'Ivoire NaN NaN
2246 Côte d'Ivoire NaN NaN
2247 Côte d'Ivoire NaN NaN
2248 Côte d'Ivoire NaN NaN
2249 Côte d'Ivoire NaN NaN
DISCL_SUPPLIER_ABRVNAME DISCL_AREA_NAME \
0 Societe Cooperative avec Conseil d'Administrat... Agnibilekrou
1 Societe Cooperative avec Conseil d'Administrat... Abengourou
2 Societe Cooperative Agricole Ahuanou d'Arrah A... Bongouanou
3 Societe Cooperative Agricole Guelanin avec Con... Bangolo
4 Societe Cooperative Agricole Imaah, Societe Co... Divo
... ... ...
2245 SCOOPANAB COOP – CA NaN
2246 CAFUGO COOP CA NaN
2247 COOP-CCAPUO NaN
2248 COOP_CA_UDAN NaN
2249 YEBOYOKON SCOOPS NaN
DISCL_COUNTRY_NAME DISCL_CERTIFICATION_NAME DISCL_NUMBER_FARMERS \
0 NaN NaN NaN
1 NaN NaN NaN
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
... ... ... ...
2245 NaN NaN NaN
2246 NaN NaN NaN
2247 NaN NaN NaN
2248 NaN NaN NaN
2249 NaN NaN NaN
DISCL_LONGITUDE DISCL_LATITUDE ... COUNTRY_NAME SUPPLIER_ABRVNAME \
0 NaN NaN ... NaN NaN
1 NaN NaN ... NaN NaN
2 NaN NaN ... NaN NaN
3 NaN NaN ... NaN NaN
4 NaN NaN ... NaN NaN
... ... ... ... ... ...
2245 NaN NaN ... NaN NaN
2246 NaN NaN ... NaN NaN
2247 NaN NaN ... NaN NaN
2248 NaN NaN ... NaN NaN
2249 NaN NaN ... NaN NaN
SUPPLIER_FULLNAME LONGITUDE LATITUDE NUMBER_FARMERS VOLUMES \
0 NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN
4 NaN NaN NaN NaN NaN
... ... ... ... ... ...
2245 NaN NaN NaN NaN NaN
2246 NaN NaN NaN NaN NaN
2247 NaN NaN NaN NaN NaN
2248 NaN NaN NaN NaN NaN
2249 NaN NaN NaN NaN NaN
VOLUMES_UNIT CERTIFICATION_NAME CERTIFICATION_PCT
0 NaN NaN NaN
1 NaN NaN NaN
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
... ... ... ...
2245 NaN NaN NaN
2246 NaN NaN NaN
2247 NaN NaN NaN
2248 NaN NaN NaN
2249 NaN NaN NaN
[2250 rows x 42 columns]
combined_df.to_csv("/Users/niamhfrench/Library/CloudStorage/OneDrive-SEI/Documents/civ_cooperatives_update/combined_data/messy_2024_combined.csv", index=False)