반응형

CSV 파일 읽기

Python에서 CSV 파일을 읽으려면 먼저 csv 모듈을 가져와야 합니다.

다음으로 open() 함수를 사용하여 CSV 파일을 열어야 합니다.

다음으로 CSV 모듈에서 reader() 함수를 호출하고 파일 객체를 전달해야 합니다.

reader() 메서드는 CSV 파일의 행에 해당하는 항목이 포함된 목록을 반환합니다. 그런 다음 목록 항목을 반복할 수 있습니다.

 

csvfile.csv 파일을 열어보면 다음과 같은 내용이 있습니다.

name,age,gender,city

jon,25,male,london

kim,29,female,korea

 

csvfile.csv 파일을 파이썬에서 열어보고 출력해 보겠습니다. 출력된 결과를 보면 각각의 라인별로 리스트 타입으로 출력됩니다.

 

import csv

 

with open("E:/Data/csvfile.csv", mode = 'r') as file_handle_csv:

  file_content = csv.reader(file_handle_csv)

  for row in file_content:

    print(row)

 

Output:

['name', 'age', 'gender', 'city']

['jon', '25', 'male', 'london']

['kim', '29', 'female', 'korea']

 

 

CSV 파일 쓰기

1.     CSV 파일을 작성하려면 먼저 항목이 CSV 파일의 열 헤더에 해당하는 목록을 만들어야 합니다.

2.     레코드의 경우 각 내부 목록이 CSV 행에 해당하고 항목이 열 값에 해당하는 목록을 만들어야 합니다.

3.     쓰기 모드로 CSV 파일을 열어야 합니다.

4.     파일 개체가 CSV 모듈에서 write() 메서드로 전달됩니다. write() 메서드는 라이터 객체를 반환합니다.

5.     마지막으로 헤더를 작성하려면 헤더 목록을 writerow() 함수에 전달합니다.

6.     행을 쓰려면 다음 스크립트와 같이 레코드 목록을 writerows() 메서드에 전달합니다.

 

import csv

 

headers = ['Name', 'Age', 'Gender', 'City']

records = [['nick', 29, 'male', 'lyon'],

           ['joseph', 30, 'male', 'manchester'],

           ['kim', 33, 'female', 'seoul']]

 

with open("csvfile2.csv", mode = 'w', newline = '') as file_handle_csv:

    csv_writer = csv.writer(file_handle_csv)

    csv_writer.writerow(headers)   # writing the header

    csv_writer.writerows(records)  # writing the rows

 

새로 생성된 csvfile2.cvs 파일을 열어보면 다음과 같은 내용이 추가되었습니다.

Name,Age,Gender,City

nick,29,male,lyon

joseph,30,male,manchester

kim,33,female,seoul

 

 

PDF 파일 작업

Python으로 PDF 파일을 읽고 쓰는 방법을 보여줍니다.

PDF 파일을 읽으려면 PyPDF2 모듈을 설치해야 합니다. 다음 pip 명령으로 그렇게 할 수 있습니다.

 

pip install PyPDF2

 

PDF 파일 읽기

PDF 파일을 읽으려면 먼저 바이너리 읽기 모드로 파일을 열어야 합니다.

다음으로, 파일 객체를 PyPDF2 모듈에서 PdfFileReader() 메서드로 전달해야 합니다. 그러면 PdfFileReader() 메서드에서 반환된 개체를 사용하여 PDF 파일을 읽을 수 있습니다.

 

아래와 같이 numPages 속성을 사용하여 PDF 문서의 페이지 수를 가져올 수 있습니다.

 

import PyPDF2

 

file_handle_pdf = open("pdffile2.pdf", "rb")

pdf_object = PyPDF2.PdfFileReader(file_handle_pdf)

print(pdf_object.numPages)

 

텍스트를 인쇄하려면 먼저 getPage() 메서드를 사용하여 페이지를 가져와야 합니다.

다음으로 페이지 개체를 사용하여 extractText() 메서드를 호출하여 페이지 텍스트를 가져올 수 있습니다.

 

다음 스크립트는 PDF 문서의 첫 페이지 텍스트를 출력합니다.

 

import PyPDF2

 

file_handle_pdf = open("pdffile.pdf", "rb")

pdf_object = PyPDF2.PdfFileReader(file_handle_pdf)

page_one = pdf_object.getPage(0)

print(page_one.extractText())

 

모든 페이지에서 텍스트를 인쇄하려면 모든 페이지를 반복하고 getPage 메소드를 사용하여 현재 페이지를 잡고 extractText() 함수를 사용하여 해당 텍스트를 인쇄하면 됩니다. 다음 스크립트는 PDF 문서의 모든 페이지에서 텍스트를 인쇄합니다.

 

import PyPDF2

 

file_handle_pdf = open("pdffile.pdf", "rb")

pdf_object = PyPDF2.PdfFileReader(file_handle_pdf)

 

for i in range(pdf_object.numPages):

  new_page = pdf_object.getPage(i)

  print(new_page.extractText())

 

PDF 파일 쓰기

Python으로 PDF 문서를 작성하는 것은 복잡합니다.

형식 제약으로 인해 PDF 문서에 텍스트 문자열을 직접 추가할 수 없습니다.

PDF 문서를 작성하는 한 가지 방법은 PDF 문서의 특정 페이지에서 텍스트를 가져온 다음 해당 텍스트를 새 PDF 문서에 추가하는 것입니다.

 

1.     PdfFileWriter 클래스의 개체를 만듭니다. 이 객체는 PDF 문서에 텍스트를 쓰는 데 사용됩니다.

2.     다음으로 my_text.pdf 클래스의 첫 번째 페이지를 얻습니다.

3.     PDF 작성자 객체를 사용하여 페이지를 추가하거나 작성하려면 작성자의 addPage() 메서드에 페이지를 전달해야 합니다.

4.     다음 단계는 작성하려는 파일을 open() 함수를 사용하여 여는 것입니다.

5.     마지막으로 open() 함수에 의해 반환된 파일 객체는 PDF 작성자 객체의 write() 메서드로 전달됩니다.

 

다음 스크립트는 pdf_file1.pdf 파일에서 첫 번째 페이지를 읽고 해당 페이지를 새로 생성된 pdf_file2.pdf 파일에 추가합니다.

 

import PyPDF2

 

pdf_writer = PyPDF2.PdfFileWriter()

 

file_handle_pdf = open("pdf_file1.pdf", "rb")

pdf_object = PyPDF2.PdfFileReader(file_handle_pdf)

page_one = pdf_object.getPage(0)

 

pdf_writer.addPage(page_one)

 

new_pdf_file = open("pdf_file2.pdf", "wb")

pdf_writer.write(new_pdf_file)

new_pdf_file.close()

 

반응형

+ Recent posts