TSV 파일이란
TSV란 TAB으로 분리된 형식의 text 파일을 의미합니다. 해당 내용만을 다루기 위한 모듈이 python에는 준비되어 있지는 않고 CSV (Comma Separated Values) format 모듈을 이용해서 사용합니다.쓰기
cvs.writer를 사용합니다. delimiter='\t' 는 구분자로서 탭을 의미합니다.
write 예제
import numpy as np import csv MAX_COLMUM = 5 MAX_ITEM = 20 AREA_INDEX = 2 AREA_INDEX2 = 4 # 지역 범주를 만들기 위하여 area = '서울 부산 대구 인천 광주 대전 울산 세종 경기 강원'.split() f = open('train.tsv', 'w', encoding='utf-8', newline='') wr = csv.writer(f, delimiter='\t') # 첫째줄은 컬럼의 제목을 위해서 write합니다. # 그중에서 AREA_INDEX 여기 위치는 지역명이 들어갑니다. title = np.arange(MAX_COLMUM).tolist() title[AREA_INDEX] = "지역" wr.writerow(title) for index in range(0,MAX_ITEM): random_data = np.random.rand(MAX_COLMUM).tolist() random_data[AREA_INDEX] = area[int((random_data[AREA_INDEX]*100)%10)] random_data[AREA_INDEX2] = area[int((random_data[AREA_INDEX2]*100)%10)] wr.writerow(random_data) f.close()
결과
0 1 지역 3 4 0.30789676210454797 0.3160718715457761 광주 0.618074061962662 부산 0.4779143261004096 0.7640950473377978 인천 0.7554662967547567 인천 0.46356805076582885 0.5837447431729355 대전 0.793675978965779 광주 0.5695109222857196 0.05089301078346342 인천 0.9556152127770076 부산 0.04493729261707624 0.14316706161067427 경기 0.3853064558624778 울산 0.4211392967613088 0.4223696769241083 울산 0.5668579921124862 광주 0.6968309725237914 0.9771633054896907 서울 0.8357267917293922 경기 0.11353740126056755 0.7601654905557846 대전 0.743158407293178 부산 0.22370034270270966 0.3115915771469119 대전 0.11848968372403645 부산 0.137646137601257 0.600286886461799 광주 0.7007352606121582 강원 0.031428666050948184 0.39108944068098905 대전 0.8733145643417124 강원 0.9964849451141898 0.1515641318053479 인천 0.5335673749065628 인천 0.22542471556473298 0.8561772376533481 서울 0.9362096685200896 울산 0.4686621433360696 0.17537990374522128 대구 0.3499523151304561 울산 0.046060811241397714 0.8299155100569963 경기 0.21535901604117658 경기 0.1899909553960777 0.21936448957471155 인천 0.6575452140509177 경기 0.41758513381425333 0.42277109702047366 서울 0.8529515809615816 부산 0.3197992908993763 0.13481439248189842 강원 0.4037015504523124 대구 0.0562629654450455 0.551939153390536 인천 0.9260164254116474 세종 0.587953265713976 0.6413981811587487 대구 0.023584307830762707 대전
읽기
읽을때는 csv 모듈을 사용하지 않고 pandas 모듈을 사용하겠습니다.
tsv 파일 읽기 예제
import pandas as pd dataset = pd.read_csv("train.tsv", delimiter='\t', header=0) print(dataset)
read_csv를 이용하여 쉽게 데이터를 읽었습니다.
결과
header=None일때0 1 지역 3 4 0 0.307897 0.316072 광주 0.618074 부산 1 0.477914 0.764095 인천 0.755466 인천 2 0.463568 0.583745 대전 0.793676 광주 3 0.569511 0.050893 인천 0.955615 부산 4 0.044937 0.143167 경기 0.385306 울산 5 0.421139 0.422370 울산 0.566858 광주 6 0.696831 0.977163 서울 0.835727 경기 7 0.113537 0.760165 대전 0.743158 부산 8 0.223700 0.311592 대전 0.118490 부산 9 0.137646 0.600287 광주 0.700735 강원 10 0.031429 0.391089 대전 0.873315 강원 11 0.996485 0.151564 인천 0.533567 인천 12 0.225425 0.856177 서울 0.936210 울산 13 0.468662 0.175380 대구 0.349952 울산 14 0.046061 0.829916 경기 0.215359 경기 15 0.189991 0.219364 인천 0.657545 경기 16 0.417585 0.422771 서울 0.852952 부산 17 0.319799 0.134814 강원 0.403702 대구 18 0.056263 0.551939 인천 0.926016 세종 19 0.587953 0.641398 대구 0.023584 대전
읽기
import pandas as pd dataset = pd.read_csv("train.tsv", delimiter='\t', header=None) print(dataset)
결과
0 1 2 3 4 0 0.000000 1.000000 지역 3.000000 4 1 0.307897 0.316072 광주 0.618074 부산 2 0.477914 0.764095 인천 0.755466 인천 3 0.463568 0.583745 대전 0.793676 광주 4 0.569511 0.050893 인천 0.955615 부산 5 0.044937 0.143167 경기 0.385306 울산 6 0.421139 0.422370 울산 0.566858 광주 7 0.696831 0.977163 서울 0.835727 경기 8 0.113537 0.760165 대전 0.743158 부산 9 0.223700 0.311592 대전 0.118490 부산 10 0.137646 0.600287 광주 0.700735 강원 11 0.031429 0.391089 대전 0.873315 강원 12 0.996485 0.151564 인천 0.533567 인천 13 0.225425 0.856177 서울 0.936210 울산 14 0.468662 0.175380 대구 0.349952 울산 15 0.046061 0.829916 경기 0.215359 경기 16 0.189991 0.219364 인천 0.657545 경기 17 0.417585 0.422771 서울 0.852952 부산 18 0.319799 0.134814 강원 0.403702 대구 19 0.056263 0.551939 인천 0.926016 세종 20 0.587953 0.641398 대구 0.023584 대전
Tsv 파일의 위치가 중요한가요? Tsv 파일의 위치때문인지 컴파일러가 찾지를 못합니다.
답글삭제