Linux 셸을 사용하여 Excel 파일 (xlsx)을 편집하는 방법


11

Linux 쉘을 사용하여 XLSX 파일을 편집하는 방법 (도구)이 있습니까? 필요한 것은 첫 번째 워크 시트에서 비어 있지 않은 마지막 세 행을 제거하는 방법입니다.

XLSX는 압축 파일이며 다른 XML 파일로 압축되어 있으며 개별적으로 편집 할 수 있습니다. 그러나 가능한 경우 XML 파일을 직접 분석하고 변경하지 않도록하고 싶습니다.

답변:


14

내 아이디어는 다음과 같은 파이썬 스크립트입니다.

import pandas as pd
filename=argv[1]
df = pd.read_excel(filename,sheet_name="Sheet1").ix[:-3] ## read the xlsx without last 3 rows to a dataframe
df.write_excel("output_sheet.xlsx") #write dataframe to xlsx file

당신이 사용할 수있는 "비 비어 있음"을 확인 df.notna()


유망한 소리-시도해 볼 것입니다. 그냥 df.ix [:-3]-마지막 세 개의 빈 행을 삭제합니까? 엑셀 시트에는 많은 빈 행이 있기 때문에 xlsx에서 xml 파일을 보면.
Bojan Hrnkas

2
마지막 3 행을 삭제합니다. 비어 있지 않은 마지막 행 뒤의 빈 행은 무시됩니다. 편의상 여기 : pandas.pydata.org/pandas-docs/version/0.22/generated/… 는 팬더 데이터 프레임에 대한 참조입니다
DDS

-3

Libreoffice (및 아마도 OpenOffice)는 Excel에서 만든 .xlsx 파일을 읽을 수 있습니다. 이런 방식으로 처리 할 파일이 많지 않으면 Libreoffice에서 수동으로 파일을 만드는 것이 가장 간단한 방법입니다. 파일이 많고 실제로 자동화 된 솔루션이 필요한 경우 Libreoffice를 스크립팅 할 수 있습니다. API 문서를 참조 하거나 추가 자습서 소개로 시작 하십시오 .


2
헤드리스 서버에서 무언가를 자동화하고 싶기 때문에 이것은 효과가 없습니다.
보얀 흐른 카스

2
@파이프. 헤드리스 모드에서 LibreOffice를 실행할 수 있습니까?
TRiG

3
@TRiG 물론, 그 방법을 자세히 설명하는 답변은 훌륭한 답변이 될 것입니다. 이것은 그 대답이 아닙니다.
파이프

1
@pipe를 LibreOffice에 "일회용 GUI 도구"라고 부르는 것은 매우 극단적입니다. 기본적으로 실제와 반대입니다.
바베큐

1
헤드리스 모드에서 LibreOffice를 여는 것은 --headless옵션 을 사용하는 것만 큼 간단합니다 .
Johnny
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.