def _read_name_charge(data):
    """ Build the species dictionary relating ChemKin name to charge.
        If the charge is missing for a given species, the dictionary
        element will be set to zero, assuming a neutral species.

        :param data: information from input species.csv file
        :type data: pandas
        :return spc_dct: output dictionary for all species
        :rtype spc_dct: dict[name: charge]
    """

    fill = 0
    if hasattr(data, 'charge'):
        spc_dct = dict(zip(data.name, data.charge))
    else:
        if fill is not None:
            spc_dct = dict(zip(data.name, [fill for name in data.name]))
        else:
            spc_dct = {}

    return spc_dct