Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: ilkant - 19.12.21 - klo:01.07

Otsikko: [Ratkaistu] Pyxl:in asennus
Kirjoitti: ilkant - 19.12.21 - klo:01.07
Kirjassa Automate the boring stuff with python on kerrottu, kuinka pythonilla voi lukea ja käsitellä Excel-taulukoita ja Google-taulukoita.

Asensin pyxl:n pip:illä. Sitten pip3:lla ja vielä apt:llä (ohjeet täällä (https://stackoverflow.com/questions/34509198/no-module-named-openpyxl-python-3-4-ubuntu)). Lopulta ohjelma ei antanut mitään virheilmoituksia.

Mutta kun ohjelmassa on lauseke

Koodia: [Valitse]
wb = openpyxl.load_workbook('koe.ods')

ei vaan tapahdu mitään. Eikä tule virheilmoitusta.

Koodia: [Valitse]
sheet1 = wb['Sheet1']
sheet2 = wb[0]

Eivät toimi myöskään. Ilmeisesti pyxl-asennus ei ole onnistunut oikein.
Otsikko: Vs: Pyxl:in asennus
Kirjoitti: kamara - 19.12.21 - klo:09.40
Itselläni se toimii suoraan...
... ainakin tällä esimerkillä...
Koodia: [Valitse]
from openpyxl import Workbook
from openpyxl.utils import get_column_letter

wb = Workbook()

dest_filename = 'empty_book.xlsx'

ws1 = wb.active
ws1.title = "range names"

for row in range(1, 40):
    ws1.append(range(600))

ws2 = wb.create_sheet(title="Pi")

ws2['F5'] = 3.14

ws3 = wb.create_sheet(title="Data")
for row in range(10, 20):
    for col in range(27, 54):
        _ = ws3.cell(column=col, row=row, value="{0}".format(get_column_letter(col)))
print(ws3['AA10'].value)
wb.save(filename = dest_filename)

Se siis luo empty_book.xlsx-tiedoston, jonka pystyy avaamaan libreofficessa.

Asensin tällä komennolla kyseisen kirjaston...
Koodia: [Valitse]
sudo pip3 install openpyxl

Edit - Myös tämä testi-ohjelma toimii...
Koodia: [Valitse]
from openpyxl import load_workbook
wb = load_workbook(filename = 'empty_book.xlsx')
sheet_ranges = wb['range names']
print(sheet_ranges['D18'].value)
Otsikko: Vs: Pyxl:in asennus
Kirjoitti: kamara - 19.12.21 - klo:09.53
Mutta kun ohjelmassa on lauseke

Koodia: [Valitse]
wb = openpyxl.load_workbook('koe.ods')

ei vaan tapahdu mitään. Eikä tule virheilmoitusta.

Joo tosiaan sulla taitaa olla väärin asennettuna kyseinen kikkare, kun itselläni tulee kyseisestä käskystä virheilmoitus, jossa kehotetaan käyttää xlsx-tiedostoa ods:n sijaan..
Otsikko: Vs: Pyxl:in asennus
Kirjoitti: ilkant - 07.01.22 - klo:00.05
Ratkesi. Käytän pyCharmia ohjelmointiympäristönä. Se piti asentaa vielä pyCharmissa kyseisessä projektissa, jossa sitä oli importattu. No, aina oppii uutta kun asiat eivät toimi automaattisesti. Joku ehkä ehdottaa, että pyCharmin voi asettaa lukemaan automaattisesti hakemistosta /usr/lib/python3/dist-packages paketteja.