반응형
xlsxwriter에서 워크시트 순서를 변경할 수 있습니까?
다음 워크시트 쌍을 순서대로 만드는 스크립트가 있습니다.
WorkSheet (holds data) -> ChartSheet using WorkSheet
스크립트가 완료되면 워크시트가 다음과 같이 정렬됩니다.
Data1, Chart1, Data2, Chart2, Data3, Chart3, ...
스크립트가 끝날 때 워크시트를 다시 주문할 수 있습니까(예: 이전)?workbook.close()
) 최종 .xlsx 파일에서 다음 워크시트 순서를 구하시겠습니까?
Chart1, Chart2, Chart3,...,ChartN, Data1, Data2, Data3,...
그냥 정렬workbook.worksheets_objs
목록:
import xlsxwriter
workbook = xlsxwriter.Workbook('test.xlsx')
sheet_names = ['Data1', 'Chart1', 'Data2', 'Chart2', 'Data3', 'Chart3']
for sheet_name in sheet_names:
workbook.add_worksheet(sheet_name)
# sort sheets based on name
workbook.worksheets_objs.sort(key=lambda x: x.name)
workbook.close()
저는 XlsxWriter의 저자입니다.그것을 하는 것은 가능하지만 그것은 권장되지 않습니다.
각 워크시트에는 여러 워크시트 개체의 관계를 추적하는 데 Excel에서 사용하는 내부 인덱스가 있습니다.
워크시트를 정렬하는 것은 간단한 경우에는 효과가 있을 수 있지만 복잡한 워크북의 경우에는 문제가 발생할 수 있습니다.
원하는 순서대로 더미 시트를 생성하고 실제 데이터를 임의의 순서로 채울 수 있습니다.
import pandas as pd
dummy = pd.DataFrame()
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
# Here go the dummy sheets in the order you want
dummy.to_excel(writer, sheet_name='Chart1')
dummy.to_excel(writer, sheet_name='Chart2')
dummy.to_excel(writer, sheet_name='Data1')
dummy.to_excel(writer, sheet_name='Data2')
# Then you fill-in the placeholders in whatever order:
data1.to_excel(writer, sheet_name='Data1')
chart1.to_excel(writer, sheet_name='Chart1')
data2.to_excel(writer, sheet_name='Data2')
chart2.to_excel(writer, sheet_name='Chart2')
writer.close()
언급URL : https://stackoverflow.com/questions/21118823/possible-to-alter-worksheet-order-in-xlsxwriter
반응형
'programing' 카테고리의 다른 글
'베이스에 대해 해결'하기 위해 거짓을 전달하는 것과 참을 전달하는 것의 차이점은 무엇입니까?NSURL 구성 요소 인스턴스를 초기화할 때 'URL'을 선택하시겠습니까? (0) | 2023.08.30 |
---|---|
Microsoft Excel에서 두 날짜 간의 차이를 분 단위로 얻는 방법은 무엇입니까? (0) | 2023.08.30 |
MariaDB 업데이트 문에 대한 올바른 구문 (0) | 2023.08.25 |
치수 정보가 손실되지 않는 Numpy 인덱스 조각 (0) | 2023.08.25 |
UIView 블록 기반 애니메이션을 취소하려면 어떻게 해야 합니까? (0) | 2023.08.25 |