많은 개발자가 프로그램에서 Excel 스프레드시트로 데이터를 내보내야 하는 상황에 직면합니다. 이 가이드에서는 이 작업을 수행하기 위해 Python에서 사용할 수 있는 다양한 방법과 패키지를 살펴봅니다.
접근 방식을 선택할 때 프로젝트의 특정 요구 사항을 고려하세요. 염두에 두어야 할 요소에는 대상 컴퓨터에서의 Office 가용성과 데이터의 길이 및 구조가 포함됩니다.
Openpyxl은 Excel 스프레드시트를 읽고 쓰는 데 널리 사용되는 Python 패키지입니다. 셀 서식 및 스타일에 대한 유연성과 심층적인 제어 기능을 제공합니다. 그러나 Openpyxl을 사용하려면 대상 시스템에 Office를 설치해야 하며 이것이 항상 가능하지는 않을 수 있습니다.
Office가 설치되어 있지 않거나 데이터가 복잡하기 때문에 Pandas가 탁월한 옵션으로 떠오릅니다. Pandas를 사용하면 다양한 데이터 구조로 데이터를 조작하고 표현할 수 있습니다. 데이터를 DataFrame으로 변환하고 to_excel 메서드를 활용하면 Excel 파일로 손쉽게 저장할 수 있습니다.
두 개의 값 목록과 세 개의 값 목록이 있는 시나리오를 생각해 보세요. 문자열 변수. 아래 이미지에 설명된 것처럼 특정 레이아웃으로 Excel 파일을 만들어야 합니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!