Ubuntu의 Python에서 Calc 사용
12858 단어 UbuntuLibreOfficePython
Ubuntu의 Python3에서 LibreOffice 작업
실행 환경
Ubuntu Stdio 17.10
Python 3.6.3
LibreOffice 6.0
Ubuntu의 Python에서 Calc 사용
Libre Office에 묶인 Python은 Ubuntu의 Python3의 PYTHONPATH를 통해 어느 정도 포장을 사용할 수 있지만 모든 포장을 사용할 수 있는 것은 아니다.
사용할 수 없는 패키지가 있기 때문에 Ubuntu의 Python3에서 Calc를 조작합니다.
미리 준비하다
1.python3-uno를 설치합니다.(업데이트도 잊지 마세요)
$ sudo apt install python3-uno
2. PyOOcalc를 다운로드합니다.(Python3 전용)
https://github.com/thepurple/pyoocalc
pyoocalc.py를 PYTHONPATH가 통과하는 폴더로 복사합니다.
PYTHONPATH의 조사 방법.
$ python3
>>> import sys
>>> sys.path
['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/ty/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3.6/dist-packages']
3. 아래 도표를 실행하는 예시 프로그램은 다음과 같은 내용을 필요로 한다.$ pip3 install matplotlib
$ sudo apt install python3-tk
LibreOffice 번들로 구성된 Python에서 예제 프로그램을 실행합니다.pyoocalc-master/src/examples
에서 기술한 장면은 다음 절차를 이용하여 명세표를 작성하여 개념 디자인에서 체량의 둘레를 분석하도록 한다.
예. (자신의 환경에 따라 경로를 변경하십시오.)
$ /opt/libreoffice6.0/program/python example.py
LibreOffice 시작, exampleods를 열고 추가, 작업표 삭제, 줄 복사 등을 실행합니다.통신 상태에서 soffice를 시작한 상태에서 실행할 때
Ubuntu의 Python에서 폴리라인을 생성합니다.
오류로 인해 동작하지 못하는 경우도 있는 것 같습니다.
Linux Mint 18.2
Python 3.5.2
LibreOffice 6.0.2.1
의 컴퓨터에 오류가 발생하여 정상적으로 작동할 수 없습니다.현재 원인은 불분명하다.
Ubuntu Python에서 샘플링 프로그램을 실행할 때, soffice를 통신 상태에서 시작한 상태에서, 프로그램을 실행하지 않으면 언어는 영어의 soffice 시작, example입니다.ods를 열 때 오류가 발생했습니다.
pyoocalc.py가 soffice를 시작한 것 같지만 많이 시도했지만 해결되지 않았습니다.
통신 상태에서 soffice를 시작하는 예시입니다. (단축키를 만드는 것이 편리합니다.)$ /opt/libreoffice6.0/program/soffice --accept="socket,host=localhost,port=2002;urp;"
통신 상태에서 soffice,graph1을 시작합니다.ods에서 아래 그림처럼 데이터를 입력하고 저장한 상태에서 다음 작업을 수행합니다.
graph1.py#!/usr/bin/python3
# -*- coding: utf-8 -*-
import os
import sys
#sys.path.append('./../')
import pyoocalc
import matplotlib.pyplot as plt
import numpy as np
#/opt/libreoffice6.0/program/soffice --accept="socket,host=localhost,port=2002;urp;"
#で先にsOfficeを起動しておく。
doc = pyoocalc.Document()
if doc:
print("PyOOCalc version:", doc.version) # Get PyOOCalc version
doc.open_document(os.getcwd() + "/graph1.ods") #graph1.odsを開く
sheet = doc.sheets.sheet("Sheet1")
B2=sheet.cell_value_by_index(1,1)
C2=sheet.cell_value_by_index(2,1)
D2=sheet.cell_value_by_index(3,1)
E2=sheet.cell_value_by_index(4,1)
F2=sheet.cell_value_by_index(5,1)
G2=sheet.cell_value_by_index(6,1)
H2=sheet.cell_value_by_index(7,1)
B3=sheet.cell_value_by_index(1,2)
C3=sheet.cell_value_by_index(2,2)
D3=sheet.cell_value_by_index(3,2)
E3=sheet.cell_value_by_index(4,2)
F3=sheet.cell_value_by_index(5,2)
G3=sheet.cell_value_by_index(6,2)
H3=sheet.cell_value_by_index(7,2)
#xdata = [1880, 1900, 1920, 1940, 1960, 1980, 2000]
xdata = [B2, C2, D2, E2, F2, G2, H2]
# 年: 横軸の値
#ydata = [959596, 2014100, 3699428, 7354971, 9683802, 11618281, 12064101]
ydata = [B3, C3, D3, E3, F3, G3, H3]
# 人口: 縦軸の値
plt.plot(xdata, ydata, color = '#007700', linestyle = 'solid', linewidth = 3)
# 折れ線の描画: 'k-' 黒実線
plt.title('Transition of Population (Tokyo)\n', fontsize = 15)
# グラフのタイトルとフォントサイズ
plt.xlabel('Year')
# 横軸のタイトル
plt.ylabel('Population')
# 縦軸のタイトル
plt.show()
# グラフの表示
도표 부분의 코드는 아래 HP의 샘플을 직접 사용했다.
주)
Ubuntu Studio PC에서 작업하지만 Linux Mint18 PC에서는
sheet = doc.sheets.sheet("Sheet1")
이 색상이 바래질 때??조사 중
uno.RuntimeException: Binary URP bridge disposed during call
PyOOcalc와 함께 제공되는 예제 프로그램에서도 같은 오류가 발생합니다.
접선도
http://y-okamoto-psy1949.la.coocan.jp/Python/sampleprgs/DrawGraphs/LineChart/
Reference
이 문제에 관하여(Ubuntu의 Python에서 Calc 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ty21ky/items/b31cecf25108f15940be
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ /opt/libreoffice6.0/program/soffice --accept="socket,host=localhost,port=2002;urp;"
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import os
import sys
#sys.path.append('./../')
import pyoocalc
import matplotlib.pyplot as plt
import numpy as np
#/opt/libreoffice6.0/program/soffice --accept="socket,host=localhost,port=2002;urp;"
#で先にsOfficeを起動しておく。
doc = pyoocalc.Document()
if doc:
print("PyOOCalc version:", doc.version) # Get PyOOCalc version
doc.open_document(os.getcwd() + "/graph1.ods") #graph1.odsを開く
sheet = doc.sheets.sheet("Sheet1")
B2=sheet.cell_value_by_index(1,1)
C2=sheet.cell_value_by_index(2,1)
D2=sheet.cell_value_by_index(3,1)
E2=sheet.cell_value_by_index(4,1)
F2=sheet.cell_value_by_index(5,1)
G2=sheet.cell_value_by_index(6,1)
H2=sheet.cell_value_by_index(7,1)
B3=sheet.cell_value_by_index(1,2)
C3=sheet.cell_value_by_index(2,2)
D3=sheet.cell_value_by_index(3,2)
E3=sheet.cell_value_by_index(4,2)
F3=sheet.cell_value_by_index(5,2)
G3=sheet.cell_value_by_index(6,2)
H3=sheet.cell_value_by_index(7,2)
#xdata = [1880, 1900, 1920, 1940, 1960, 1980, 2000]
xdata = [B2, C2, D2, E2, F2, G2, H2]
# 年: 横軸の値
#ydata = [959596, 2014100, 3699428, 7354971, 9683802, 11618281, 12064101]
ydata = [B3, C3, D3, E3, F3, G3, H3]
# 人口: 縦軸の値
plt.plot(xdata, ydata, color = '#007700', linestyle = 'solid', linewidth = 3)
# 折れ線の描画: 'k-' 黒実線
plt.title('Transition of Population (Tokyo)\n', fontsize = 15)
# グラフのタイトルとフォントサイズ
plt.xlabel('Year')
# 横軸のタイトル
plt.ylabel('Population')
# 縦軸のタイトル
plt.show()
# グラフの表示
Reference
이 문제에 관하여(Ubuntu의 Python에서 Calc 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ty21ky/items/b31cecf25108f15940be텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)