판다/파이썬에서 엑셀 스프레드시트의 공식을 보려면 어떻게 해야 합니까?
저는 python/panda에 엑셀 스프레드시트를 읽고 싶지만 셀 결과 대신 공식을 가지고 있습니다.
예를 들어 셀 A1이 25이고 셀 B1이 =A1인 경우 데이터 프레임에 다음이 표시됩니다.
25 =A1
현재는 다음과 같습니다.
25 25
어떻게 해야 하나요?
OpenPyXL
에서는 이 용량을 즉시 제공합니다.여기와 여기를 보세요.예:
from openpyxl import load_workbook
import pandas as pd
wb = load_workbook(filename = 'empty_book.xlsx')
sheet_names = wb.get_sheet_names()
name = sheet_names[0]
sheet_ranges = wb[name]
df = pd.DataFrame(sheet_ranges.values)
네, 가능합니다.저는 최근에 이 문제를 상당히 정교한 방식으로 해결하는 패키지를 찾았습니다.이를 휴대용 스프레드시트라고 합니다.pip install portable-spreadsheet
) 기본적으로 캡슐화되어 있습니다.xlsxwriter
다음은 간단한 예입니다.
import portable_spreadsheet as ps
sheet = ps.Spreadsheet.create_new_sheet(5, 5)
# Set values
sheet.iloc[0, 0] = 25 # Set A1
sheet.iloc[1, 0] = sheet.iloc[0, 0] # reference to A1
# Export to Excel
sheet.to_excel('output/sample.xlsx')
Pandas Dataframe과 유사한 방식으로 작동합니다.
xlwings 및 panda 모듈을 사용하여 이 작업을 수행할 수 있는 옵션이 하나 있습니다.xlwings는 파이썬 스크립트를 통해 엑셀을 자동화하는 방법을 제공합니다.
하나의 "sample.xlsx" 파일을 만들고 범위("A1")에 임의 수식을 추가합니다.
아래는 주어진 파일의 공식과 값을 읽어 들일 샘플 코드입니다.
import pandas as pd
import xlwings as xw
wbk = xw.Book('sample.xlsx')
ws = wbk.sheets[0]
print(ws.cells(1,1).value)
print(ws.cells(1,1).formula)
동일한 것이 범위에도 적용됩니다.할당할 수 있습니다.range.value
데이터 프레임 또는 그 반대입니다.만약 당신이 큰 범위에서 공식을 얻고 싶다면, 당신도 그것을 얻을 수 있지만, 그것은 튜플을 반환할 것입니다.
이것이 어느 정도 도움이 되기를 바랍니다.
xlwings를 사용합니다.이것은 Python에서 매우 유용한 도구이며 자세한 설명서와 비디오가 있습니다.행운을 빕니다.
언급URL : https://stackoverflow.com/questions/42102674/how-can-i-see-the-formulas-of-an-excel-spreadsheet-in-pandas-python
'bestsource' 카테고리의 다른 글
Jquery 코드는 머리글에 넣어야 합니까 아니면 바닥글에 넣어야 합니까? (0) | 2023.08.12 |
---|---|
별도의 스레드에서 실행되는 iphoneios (0) | 2023.08.12 |
고정 테이블 셀 폭 (0) | 2023.08.12 |
목록에서 가장 오래된/가장 어린 날짜/시간 개체 찾기 (0) | 2023.08.12 |
파워셸에서 개체의 두 가지 속성을 기반으로 고유한 개체를 선택하려면 어떻게 해야 합니까? (0) | 2023.08.12 |