일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- matlab
- pyqt5
- git
- pythongui
- python3
- 윈도우11
- 아웃룩
- Outlook
- windows
- pandas
- VBA
- 엑셀
- Excel
- Android
- html
- 깃
- python
- 파이썬GUI
- 윈도우10
- win32com
- Windows10
- 문자열
- office
- 비주얼베이직
- 안드로이드
- Windows11
- 파이썬3
- 파이썬
- 파워포인트
- 오피스
Appia의 IT세상
파이썬[Python] Pandas, CSV파일 불려오기, 내보내기 본문
이번 포스팅에서는 실제 많은 데이터를 관리하는 엑셀 또는 CSV 파일 형태에서 Pandas의 DataFrame으로 바로 가져오는 방법을 알아보고자 합니다. 실제 많은 데이터들이 CSV 형태로 되어 있다 보니, 파일 불러오기 등을 활용해서 불러 오는 경우도 많습니다. 하지만, 이럴 경우 열이 끝나는 곳까지 루프를 돌려야 하고, 또한 여러가지로 복잡합니다.
CSV파일 DataFrame으로 가져오기
그래서 Pandas에서 제공하는 부분을 활용해서 한번 CSV파일을 바탕으로 DataFrame을 생성하는 방법에 대해서 살펴보고자 합니다. 먼저 그럼 다음 데이터를 바탕으로 진행을 해보겠습니다.
혹 저의 코드를 따라 하실 분들을 위해서, 위의 파일또한 다음과 같이 첨부드립니다.
그럼 이제부터는 한번 파일을 가지고 작업을 진행해보도록 하겠습니다.
Pandas에서 CSV 파일을 읽어올 때 사용하는 명령어는 read_csv(file)입니다. 그럼 예시를 보면서 다시 한번 살펴보도록 하겠습니다.
example)
import pandas as pd
data = pd.read_csv(r"Data_example.csv")
print(data)
result)
Signal Name Direction Target Signal Value
0 VehSpeed1 Tx Component1 10.4
1 VehSpeed2 Tx Component1 10.3
2 VehSpeed3 Rx Component1 12.0
3 VehSpeed4 Tx Component1 13.1
4 VehSpeed5 Tx Component2 9.4
5 VehSpeed6 Tx Component2 8.4
6 VehSpeed7 Rx Component2 3.9
7 VehSpeed8 Tx Component2 7.1
8 VehSpeed9 Tx Component2 7.5
9 VehSpeed10 Tx Component2 4.3
그럼 여기에서 만약 특정 column만 선택해서 가져오고 싶으시다면 일단 위의 부분을 토대로 읽어오고, 그 데이터에서 특정 column을 바탕으로 DataFrame을 재생성해야 합니다. 다음 예시를 한번 살펴보겠습니다.
example)
import pandas as pd
data = pd.read_csv(r"Data_example.csv") #CSV 파일 불러오기
selectdata = pd.DataFrame(data, columns=['Signal Name', 'Signal Value', "Targets"]) #특정컬럼선택
print(selectdata)
result)
Signal Name Signal Value Targets
0 VehSpeed1 10.4 NaN
1 VehSpeed2 10.3 NaN
2 VehSpeed3 12.0 NaN
3 VehSpeed4 13.1 NaN
4 VehSpeed5 9.4 NaN
5 VehSpeed6 8.4 NaN
6 VehSpeed7 3.9 NaN
7 VehSpeed8 7.1 NaN
8 VehSpeed9 7.5 NaN
9 VehSpeed10 4.3 NaN
제가 일부로 Target을 Targets으로 명시했더니, 모든 값이 NaN으로 표시가 됩니다. 만약 Column에서 선택을 하신다면 각 데이터에 대한 Column 이름을 잘 확인하셔야 합니다.
DataFrame을 CSV파일로 내보내기
물론 위에서 CSV 파일을 읽어왔다면 이번에는 CSV 파일로 내보내는 방법에 대해서 살펴보고자 합니다. 관련해서는 간단하게 예전에 Numpy 데이터를 CSV 파일 형태로 내보내는 방법에 대해서 이야기 하면서 살펴봤습니다만, 다시 한번 이야기 해보겠습니다.
example)
import pandas as pd
data = pd.read_csv(r"Data_example.csv")
selectdata = pd.DataFrame(data, columns=['Signal Name', 'Signal Value', "Target"])
selectdata.to_csv(r"C:\Users\Bens\Desktop\V1\Modified_data.csv")
이와 같이 코드를 실행해보면 다음과 같은 결과가 나옵니다.
안보이던 인덱스가 생겼죠?
관련해서 없애는 부분은 to_csv의 인자로 index=False 부분을 추가해주시면 됩니다.
오늘은 간단히 CSV파일을 DataFrame으로 가져오고, DataFrame을 CSV파일로 추출하는 방법에 대해서 살펴봤습니다. 생각보다는 간단하고, 다양하게 활용할수 있습니다. 도움이 되셨으면 좋겠습니다. 혹 궁금하신거나 문의 사항 있으시면 언제든지 댓글 및 방명록에 글 남겨 주시길 바랍니다. 감사합니다.
'Python > Python Pandas' 카테고리의 다른 글
파이썬[Python] Pandas, DataFrame의 행(Row)기반의 중복된 데이터 삭제하기 (0) | 2020.11.13 |
---|---|
파이썬[Python] Pandas, DataFrame의 행(Row)기반의 중복된 데이터 찾기, 선택한 열(Column)기반 중복데이터 찾기 (0) | 2020.11.08 |
파이썬[Python] Pandas, DataFrame의 날짜를 이용한 Index(Label)만들기 (0) | 2020.04.06 |
파이썬[Python] Pandas, DataFrame의 범위를 이용한 열, 행 선택 방법(iloc) (4) | 2020.04.04 |
파이썬[Python] Pandas, DataFrame의 인덱스(label)를 이용한 열, 행 선택 방법(loc) (0) | 2020.04.03 |