Created
March 25, 2018 06:28
-
-
Save jennyonjourney/e3a7b0ef56b782bd01eede01706cf9a3 to your computer and use it in GitHub Desktop.
Python - file read/readline/readlines()
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#readline()함수 | |
#한글을 읽으려면 꼭 utf-8을 잊지말자. | |
fa=open('../fff/aaa.txt','r', encoding='utf-8') | |
dd=fa.read() | |
fa.close() | |
print(dd) | |
#한글을 읽으려면 꼭 utf-8을 잊지말자. | |
fa=open('../fff/stud.csv','r') | |
dd=fa.read() | |
fa.close() | |
print(dd) | |
#한줄로 나열하기 위해 split함수를 사용한다. | |
fa=open('../fff/stud.csv','r') | |
dd=fa.read() | |
fa.close() | |
studs = dd.split('\n') | |
print(studs) | |
#지저분해서 앞의 열의 이름을 슬라이싱으로 지운다. | |
fa=open('../fff/stud.csv','r') | |
dd=fa.read() | |
fa.close() | |
studs = dd.split('\n')[1:-1] | |
print(studs) | |
#예쁘게 다시만들자 열 이름 제거하고 | |
fa=open('../fff/stud.csv','r') | |
dd=fa.read() | |
fa.close() | |
studs = dd.split('\n')[1:-1] | |
for st in studs: | |
print(st) | |
# 콤마기준 끊어버리기 | |
fa=open('../fff/stud.csv','r') | |
dd=fa.read() | |
fa.close() | |
studs = dd.split('\n')[1:-1] | |
for st in studs: | |
mem = st.split(',') | |
print(mem) | |
# 학생이름만 알고싶어요 | |
fa=open('../fff/stud.csv','r') | |
dd=fa.read() | |
fa.close() | |
studs = dd.split('\n')[1:-1] | |
for st in studs: | |
mem = st.split(',') | |
print(mem[0]) | |
#read의 함수는 평서문에 적합하다. (기사원문 잘라올때) 근데 이런 엑셀 테이블은 read가 적합하지 않다. | |
--------------------------------------------------------------------------------------------- | |
#news기사는 read가 적합하다. | |
fa=open('../fff/news.txt','r') | |
data=fa.read() | |
fa.close() | |
ww=data.replace('.','').replace(',','').replace('"','').replace('','').split(' ') #점을 없애주는 방법 | |
for i in ww: | |
print(i) | |
dic = {} | |
for i in ww: | |
cnt=0 | |
dic[i] = cnt | |
for kk in dic: | |
print(kk, dic[kk]) | |
print('----------------------') | |
for i in ww: | |
cnt=1 | |
if i in dic: | |
cnt+=dic[i] | |
dic[i] = cnt | |
for kk in dic: | |
print(kk, dic[kk]) | |
print('-------sorted-------') | |
for i in ww: | |
cnt=1 | |
if i in dic: | |
cnt+=dic[i] | |
dic[i] = cnt | |
print('\n-----list형만들기-----\n') | |
keys=list(dic.keys()) | |
print('\n-----key를 프린트해보자----\n') | |
print(keys) | |
# key로 따로 빼서 key를 정렬하고, 출력 for문에서 dic대신에 keys를 하는 것이다. | |
print('\n-----key를 정렬해보자----\n') | |
keys.sort() | |
print('\n-----정렬된 key를 프린트해보자----\n') | |
print(keys) | |
print('\n-----for문으로 key를 프린트해보자----\n') | |
for kk in keys: | |
print(kk, dic[kk]) | |
#newscnt로 저장하기. | |
f = open('../fff/newscnt.txt','w',encoding='utf-8') | |
for kk in keys: | |
print(kk,dic[kk]) | |
f.write(kk+":"+str(dic[kk])+"\n") | |
f.close() | |
#숫자를 별표로 바꾸기 | |
f = open('../fff/newscnt.txt','w',encoding='utf-8') | |
for kk in keys: | |
print(kk,dic[kk]) | |
f.write(kk+":"+str(dic[kk]*'★')+"\n") | |
f.close() | |
-------------------------------------------------------------------------------- | |
#readline은 맨 위의 한 줄만 갖고 오는 것이다. | |
#빅데이터를 가져와줘 readlines, 하나씩 가져올때는 readline | |
#보통 데이터 분석은 readline을 많이 쓴다. | |
fa=open('../fff/stud.csv','r') | |
dd=fa.readline() | |
fa.close() | |
print(dd) | |
------------------------------------------------------------------------------ | |
### read의 함수는 평서문에 적합하다. | |
### 기사원문 잘라올때) 근데 이런 엑셀 테이블은 read가 적합하지 않다. | |
fa=open('../fff/stud.csv','r') | |
dd=fa.readlines() | |
fa.close() | |
print(dd) | |
#줄별로 끊어서 'lit'형으로 나온다 | |
for st in dd: | |
print(st) | |
#readlines=줄별로 잘라서 갖고 온다. | |
#맨마지막버리고 싶다. 즉 n을 버리는 거지요 | |
for st in dd: | |
print(st[:-1]) | |
print('----열명을 버리고 오고 싶다.---') | |
#열명을 버리고 오고 싶다. | |
for st in dd[1:]: | |
print(st[:-1]) | |
-------------------------------------------------------------- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment