👩💻 Develope/Python
[Python] CSV 파일 변환할 때 쌍 따옴표(double quotation) 추가하기
heywantodo
2024. 1. 9. 16:37
728x90
반응형
[Python] CSV 파일 변환할 때 쌍 따옴표(double quotation) 추가하기
데이터 프레임의 전체 컬럼에 쌍 따옴표를 추가하고 싶을 땐, quoting=csv.QUOTE_ALL 옵션을 사용하면 된다.
import csv
df.to_csv(df, quoting=csv.QUOTE_ALL)
하지만 나는 특정 컬럼에 쌍 따옴표를 추가 후 csv 파일로 변환을 하고 싶었는데, 추가 후 변환을 하면
자꾸 쌍따옴표가 3쌍이 되서 나왔다 😭😭
이렇게 apply를 통해서 컬럼 데이터에 쌍따옴표를 추가 후 df를 출력하면 쌍따옴표가 잘 붙어있지만
import pandas as pd
df = pd.DataFrame({'학번':[1, 2, 3, 4],
'키':[163, 153, 175, 180],
'몸무게':[50, 46, 70, 68]})
df['학번'] = df['학번'].apply(lambda x: f'"{x}"')
csv로 변환을 하면 다음과 같이 3쌍이 됐다.
이유를 찾아보니 문자열에 쌍따옴표가 포함되면 csv는 단순한 문자열인지 아니면 (") 이 포함된 값인지를 혼동한다고 판단하여, 특별 구문으로 세 개의 따옴표를 사용한다고 한다.
이를 해결하기 위해선 쌍따옴표가 인용 문자로 해석이 되지 않도록 quotechar를 변경해준다.
인용 문자는 (') 로 지정을 했기 때문에 (")는 의도한대로 출력이 된다.
df.to_csv(quotechar="'")
참고
https://stackoverflow.com/questions/73688496/using-double-quotes-within-str-python-pandas
728x90
반응형