def update_row(self, row_data):
        """Update Row (By ID).

        Only the fields supplied will be updated.
        :param row_data:
            A dictionary containing row data. The row will be updated according
            to the value in the ID_FIELD.
        :return:
            The updated row.
        """
        try:
            id = row_data[ID_FIELD]
        except __HOLE__:
            raise WorksheetException("Row does not contain '{0}' field. "
                                "Please update by index.".format(ID_FIELD))
        entry = self._get_row_entry_by_id(id)
        new_row = self._row_to_dict(entry)
        new_row.update(row_data)
        entry = self.gd_client.UpdateRow(entry, new_row)
        if not isinstance(entry, gdata.spreadsheet.SpreadsheetsList):
            raise WorksheetException("Row update failed: '{0}'".format(entry))
        for i, e in enumerate(self.entries):
            if e.id.text == entry.id.text:
                self.entries[i] = entry
        return self._row_to_dict(entry)
dataset/ETHPy150Open yoavaviram/python-google-spreadsheet/google_spreadsheet/api.py/Worksheet.update_row