Из csv в mysql таблицу PYTHON?
Их CSV можно напрямую в MySQL без каких либо скриптов, одним запросом
Во-первых, вы закрываете курсор после первой же итерации. Поэтому у вас вообще не должно обрабатываться больше одной строки. Во-вторых, можно завернуть проблемный код в обработчик исключений и убедиться, что числовое поле действительно содержит ожидаемое значение и не содержит нечисловых символов:import MySQLdb
import csv

csv_file = '/home/decoy/Downloads/police-department-calls-for-service.csv'
db_props = {
    'host': '192.168.1.2',
    'port': 3306,
    'user': 'non-root-boy',
    'passwd': '123456',
    'db': 'sfpd'
}
query = ''''INSERT INTO sfpd(`Crime Id`, `Original Crime Type Name`,
                   `Report Date`, `Call Date`, `Offense Date`, `Call Time`,
                   `Call Date Time`, `Disposition`, `Address`, `City`, `State`, `Agency Id`,
                   `Address Type`, `Common Location`) VALUES("%d", "%s", "%s", "%s", "%s", "%s",
                   "%s", "%s", "%s", "%s", "%d", "%s")'''

with open(csv_file) as fh:
    csv_f = csv.reader(fh)
    with MySQLdb.connect(**db_props) as cur:
        for row in csv_f:
            try:
                cur.execute(query, row)
            except TypeError as exc:
                field_val = row[-2]
                if isinstance(field_val, str):
                    print(''.join(r'\x{0:02x}'.format(ord(c)) if c.isspace() or not c.isprintable() else c for c in field_val))
                else:
                    raise
print ("Done")
И, в-третьих, непонятно почему предпоследнее поле таблицы БД имеет тип varchar, а вставить вы пытаетесь число.