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
반응형
'👩💻 Develope > Python' 카테고리의 다른 글
[Python] 주피터 랩 설치 (JupyterLab) (1) | 2024.01.22 |
---|---|
[Python] 주말 판별하기 (weekday) (0) | 2024.01.19 |
[Numpy] 조건을 만족하는 위치의 인덱스 찾기 (np.where) (0) | 2024.01.08 |
[Pandas] Apply (1) | 2024.01.03 |
[Pandas] loc, iloc, at, iat 메소드 비교 (1) | 2023.12.28 |