>백엔드 개발 >파이썬 튜토리얼 >Python을 사용하여 Excel 스프레드시트에 데이터를 쓰는 방법: Openpyxl과 Pandas?

Python을 사용하여 Excel 스프레드시트에 데이터를 쓰는 방법: Openpyxl과 Pandas?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-28 00:38:17871검색

Python을 사용하여 Excel 스프레드시트에 데이터를 쓰는 방법

많은 개발자가 프로그램에서 Excel 스프레드시트로 데이터를 내보내야 하는 상황에 직면합니다. 이 가이드에서는 이 작업을 수행하기 위해 Python에서 사용할 수 있는 다양한 방법과 패키지를 살펴봅니다.

접근 방식 선택

접근 방식을 선택할 때 프로젝트의 특정 요구 사항을 고려하세요. 염두에 두어야 할 요소에는 대상 컴퓨터에서의 Office 가용성과 데이터의 길이 및 구조가 포함됩니다.

Openpyxl 사용

Openpyxl은 Excel 스프레드시트를 읽고 쓰는 데 널리 사용되는 Python 패키지입니다. 셀 서식 및 스타일에 대한 유연성과 심층적인 제어 기능을 제공합니다. 그러나 Openpyxl을 사용하려면 대상 시스템에 Office를 설치해야 하며 이것이 항상 가능하지는 않을 수 있습니다.

Pandas 활용

Office가 설치되어 있지 않거나 데이터가 복잡하기 때문에 Pandas가 탁월한 옵션으로 떠오릅니다. Pandas를 사용하면 다양한 데이터 구조로 데이터를 조작하고 표현할 수 있습니다. 데이터를 DataFrame으로 변환하고 to_excel 메서드를 활용하면 Excel 파일로 손쉽게 저장할 수 있습니다.

사용 사례 예시

두 개의 값 목록과 세 개의 값 목록이 있는 시나리오를 생각해 보세요. 문자열 변수. 아래 이미지에 설명된 것처럼 특정 레이아웃으로 Excel 파일을 만들어야 합니다.

How to Write Data to Excel Spreadsheets Using Python: Openpyxl vs. Pandas?

Openpyxl을 사용하면 다음과 같이 이 레이아웃을 만들 수 있습니다.

import openpyxl

data = {
    "Display": [1, 2, 3],
    "Dominance": [2.34, 4.346, 4.234],
    "Test": [2.3, 3.2, 1.7]
}

workbook = openpyxl.Workbook()
sheet = workbook.active

# Set column widths
sheet.column_dimensions["A"].width = 10
sheet.column_dimensions["B"].width = 15

# Insert headings
sheet["A1"] = "Category"
sheet["B1"] = "Values"

# Iterate over keys and values
for key, values in data.items():
    sheet[f"A{sheet.max_row + 1}"] = key
    for i, value in enumerate(values, 2):
        sheet[f"B{sheet.max_row + i}"] = value

workbook.save("output.xlsx")

또는 Pandas 사용:

import pandas as pd

data = {
    "display": [1, 2, 3],
    "dominance": [2.34, 4.346, 4.234],
    "test": [2.3, 3.2, 1.7]
}

df = pd.DataFrame(data)
df.to_excel("output.xlsx", index=False)

형식 지정 셀

특정 셀의 형식을 과학적 또는 정밀한 숫자로 지정하려면 Pandas의 스타일 방법을 활용할 수 있습니다.

df['dominance'] = df['dominance'].apply(lambda x: "%.10f" % x)
df.to_excel("output.xlsx", index=False)

이렇게 하면 값의 전체 정밀도가 유지되고 과학적으로 형식이 지정됩니다. 표기법.

위 내용은 Python을 사용하여 Excel 스프레드시트에 데이터를 쓰는 방법: Openpyxl과 Pandas?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.