Z perspektywy czasu był to naprawdę głupi, ale trudny do wykrycia błąd. Values to słowo kluczowe w sql, więc wartości nazw tabeli wymagają ujęcia w cudzysłów.
def __insert_values(self, values):
cursor = self.connection.cursor()
cursor.executemany("""
insert into `values` (ensg, value, sampleid)
values (%s, %s, %s)""", values)
cursor.close()