Skip to content

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)