추출

2014-02-07 3 views
1

I는 CSV이게추출

import csv 
with open('some.csv', newline='\t', encoding='utf-8') as f: 
    reader = csv.reader(f) 
    for row in reader: 
     print(row) 

I 파일의 모든 유니 코드 데이터를 추출해야 UTF-8

# id english_word part_of_speech malayalam_definition 
174569 .net n പുത്തന്‍ കമ്പ്യൂട്ടര്‍ സാങ്കേതികത ഭാഷ 
116102 A bad patch n കുഴപ്പം പിടിച്ച സമയം 
115869 A bed of nails n പ്രയാസപ്പെടുന്ന അവസ്ഥ 
200587 A bed of nails idm ശരശയ്യ 
115768 A bed of roses n സുഖകരമായ അവസ്ഥ 
115767 A bed of roses n പൂമെത്ത 
113832 A bed of thorn n അസുഖകരമായ അവസ്ഥ 
113665 A bed roses n പൂമെത്ത 

이 부호화 갖는 n 태그와 같은 파일이 코드가 있지만 작동하지 않습니다. 코드가 출력을 생성하지 않습니다. 그렇지 않습니다. 어떤 제안?

파이썬 2.7

+0

파이썬 2.7? * TypeError : 'newline'은이 함수의 잘못된 키워드 인수입니다 *? –

+0

@JanneKarila 예. 오류가 발생했습니다. 그러나 n 태그 뒤에 부분을 추출하는 방법 –

+0

파이썬 3에서는'open'을 사용합니다. –

답변

0

n 앞에 탭 문자가 있기 때문에 the original code에있는 경우 " n" in row과 일치하지 않습니다. 탭이 항상있는 경우 "\tn" in row을 사용해보세요.

이제 코드는 Python 3 버전입니다. Python 2.7에서 open 함수는 newline 인수를 취하지 않으므로 TypeError 인수를 사용합니다.

이 탭으로 구분 된 파일로 작업해야합니다

import csv 
with open('some.csv', 'rb') as f: 
    reader = csv.reader(f, delimiter='\t') 
    for row in reader: 
     if "n" in row: 
      print(row) 
0

당신은 당신이 for row in f로에 반복하기 전에 csv 파일을 읽을 수 있습니다.

첫째, CSV 패키지를 가져옵니다, CSV 파일을 읽어

import csv 

후 :

with open('mycsv.csv','r') as f: 
    with open('n.csv','w') as new_file: 
    file_read = csv.reader(f,delimiter=';') 
    for row in file_read: 
     if not extract_n(row): 
     new_file.write(row) 

구분 기호 필드가 당신이 어떤 O를 쉼표 세미콜론, 될 수 있습니다.