Python 처리 데이터 의 실례 상세 설명
최근 python(3.2 버 전)으로 특정 규칙 에 따라 데 이 터 를 처리 하 는 작은 프로그램 을 썼 습 니 다.python 에서 자주 사용 하 는 기초 지식 을 사 용 했 습 니 다.여기 서 요약 하 겠 습 니 다.
1,python 파일 읽 기
2,python 파일 쓰기
3,python 프로 세 스 제어
4,python 의 for 순환
5.python 의 집합 이나 문자열 에서 어떤 요소 가 존재 하 는 지 판단 합 니 다.
6.python 의 논리 또는 논리 와
7,python 정규 필터
8.python 문자열 은 빈 칸 을 무시 하고 특정한 문자열 로 시작 하고 특정한 문자 로 list 로 나 눕 니 다.
python 의 파일 열기 모드:
open 모드 에 대하 여:
w 쓰기 로 열기,
a 추가 모드 로 열기(EOF 부터 필요 시 새 파일 만 들 기)
r+ 읽 기와 쓰기 모드 로 열기
w+ 읽 기와 쓰기 모드 로 열기(w 참조)
a+ 읽 기와 쓰기 모드 로 열기(a 참조)
rb 바 이 너 리 읽 기 모드 로 열기
wb 바 이 너 리 쓰기 모드 로 열기(w 참조)
ab 바 이 너 리 추가 모드 로 열기(a 참조)
rb+ 바 이 너 리 읽 기와 쓰기 모드 로 열기(r+참조)
wb+ 바 이 너 리 읽 기와 쓰기 모드 로 열기(w+참조)
ab+ 바 이 너 리 읽 기와 쓰기 모드 로 열기(a+참조)
처리 코드 는 다음 과 같 습 니 다:
def showtxt(path,outpathname,detailpath):
greenpath=r"C:\\Users\\qindongliang\\Desktop\\tnstxt\\green.txt";
redpath=r"C:\\Users\\qindongliang\\Desktop\\tnstxt\\red.txt";
redset=listtxt(redpath)
greenset=listtxt(greenpath)
print(" : ",len(redset))
print(" : ",len(greenset))
# 1
f1=open(r"C:\Users\qindongliang\Desktop\tnstxt\result\\"+detailpath+"\\1.txt",encoding="UTF-8",mode="a+")
# 2
f2=open(r"C:\Users\qindongliang\Desktop\tnstxt\result\\"+detailpath+"\\2.txt",encoding="UTF-8",mode="a+")
# 3
f3=open(r"C:\Users\qindongliang\Desktop\tnstxt\result\\"+detailpath+"\\3.txt",encoding="UTF-8",mode="a+")
# 4
f4=open(r"C:\Users\qindongliang\Desktop\tnstxt\result\\"+detailpath+"\\4.txt",encoding="UTF-8",mode="a+")
delcount=1;
f=open(path,encoding="UTF-8",mode="r+")
fnew=open(outpathname,encoding="UTF-8",mode="a+")
flog=open(outpathname+".log",encoding="UTF-8",mode="a+")
#count=1;
for line in f:
list=line.strip().split("\t")
line=line.strip()
catalogid=list[0]
score=list[1]
keyword=clear(list[4].strip())
if keyword in redset:
if catalogid.startswith("018022") or catalogid.startswith("018035") or catalogid.startswith("014023003") :
f1.write(line+"
")# 1
fnew.write(line+"
")# 1
else:
flog.write(line+" 1 "+"
")
delcount=delcount+1
if keyword in greenset:
if not (catalogid.startswith("018022") or catalogid.startswith("018035") or catalogid.startswith("014023003")) :
fnew.write(line+"
")
else:
f2.write(line+"
")
flog.write(line+" 2"+"
")
delcount=delcount+1
flist=formatStrList(keyword)
if "sexy" in flist or "sex" in flist:
if catalogid.startswith("018022") or catalogid.startswith("018035") or catalogid.startswith("014023003") :
f3.write(line+"
")
fnew.write(line+"
")
else:
flog.write(line+" 3"+"
")
delcount=delcount+1
#if (keyword.find("underwear")!=-1) & keyword.find("sexy")==-1 & keyword.find("sex")==-1:
if "underwear" in flist and "sexy" not in flist and "sex" not in flist:
if catalogid.startswith("014032") :
f4.write(line+"
")
fnew.write(line+"
")
else:
flog.write(line+" 4"+"
")
delcount=delcount+1
#print(list[0]," ",list[1]," ",list[4])
#print()
flog.write(" : "+str(delcount))
f.close()
f1.close()
f2.close()
f3.close()
f4.close()
fnew.close()
flog.close()
import re
def clear(str):
str=re.sub("[\"\"\'\'+]","",str)
return str
def formatStrList(keyword):
list=keyword.split(" ")
for item in list:
item.strip();
return list
def listtxt(path):
f=open(path,encoding="UTF-8")
s=set()
for line in f:
s.add(line.strip())
f.close()
return s
path1=r"C:\\Users\\qindongliang\\Desktop\\tnstxt\\highfrequency.txt"
pathout1=r"C:\\Users\\qindongliang\\Desktop\\tnstxt\\detail\\a_highfrequency.txt"
detail1path="highfrequency"
path2=r"C:\\Users\\qindongliang\\Desktop\\tnstxt\\highfrequency_d1.txt"
pathout2=r"C:\\Users\\qindongliang\\Desktop\\tnstxt\\detail\\b_highfrequency_d1.txt"
detail2path="highfrequency_d1"
#showtxt(path1,pathout1,detail1path)
showtxt(path2,pathout2,detail2path)
이상 은 Python 의 데이터 처리 사례 에 대한 상세 한 설명 입 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남기 거나 본 사이트 의 커 뮤 니 티 에 가서 토론 을 하 십시오.읽 어 주 셔 서 감사합니다. 여러분 께 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.