Считайте файл вручную, а затем создайте фрейм данных:
rows = []
with open('somefile.csv') as f:
keys = next(f).split(',')
for line in f:
rows.append(dict(zip(keys, line.split(',', 3))))
df = pd.DataFrame(rows)
.split
принимает необязательный параметр, чтобы ограничить число раз, которое он разделяет на разделитель.Пропуск 3 означает, что он игнорирует запятые в последнем поле:
>>> s.split(',', 3)
['7428',
'17/12/2006 2:00:00 PM',
'28/01/2007 2:00:00 PM',
'Project Engineer - Mechanical Looking,.....,....']
Далее мы создаем словарь с ключами из строки заголовка и значениями из строк данных:
>>> f = 'JobID,Publish,Expire,TitleAndDetail'.split(',')
>>> dict(zip(f, s.split(',', 3)))
{'JobID': '7428',
'Publish': '17/12/2006 2:00:00 PM',
'Expire': '28/01/2007 2:00:00 PM',
'TitleAndDetail': 'Project Engineer - Mechanical Looking,.....,....'}
Наконец, мы составляем список этих словарей (в rows
) и передаем его в качестве аргумента для создания нашего объекта фрейма данных.