stackoverflow.com/questions/44786415/read-csv-with-extra-commas-and-no-quotechar-with-pandas
from io import StringIO
import pandas as pd
s = '''ID,Level,QID,Text,ResponseID,responseText,date_key
375280046,S,D3M,Which is your favorite?,D5M0,option 1,2012-08-08 00:00:00
375280046,S,D3M,How often? (at home, at work, other),D3M0,Work,2010-03-31 00:00:00
375280046,M,A78,Do you prefer a, b, or c?,A78C,a,2010-03-31 00:00:00'''
df = pd.read_csv(StringIO(s), sep=r',(?!\s)')
(?!\s) 부분은 뒤에 다음 공백이 없는 쉼표만 일치시키기 위해 전방탐색을 수행한다(negative lookahead)
regex1(?=(regex2)) : Positive Lookahead : regex1 다음 regex2의 정규표현식이 일치할 경우 반환
regex1(?!(regex2)) : Negative Lookahead : regex1 다음 regex2의 정규표현식이 일치하지 않을 경우 반환
(?<=(regex2))regex1 : Positive Lookbehind : regex2의 정규표현식이 일치하고 regex1가 나올 경우 반환
(?<!(regex2))regex1 : Negative Lookbehind : regex2의 정규표현식이 일치하지 않고 regex1가 나올 경우 반환
https://unlimitedpower.tistory.com/entry/정규표현식-이것이-고급이다-Positive-Negative-Lookahead-Lookbehind