簡體   English   中英

在 Linux 中的 Python 腳本中打開並顯示文件

[英]Open and display a file within a python script in Linux

我想打開/顯示一個 excel 文件,我將其保存為 python 腳本中 python 處理的一部分。

代碼的保存部分工作正常(即,它成功保存,並且我已打開並從 Nautilus 窗口查看),但無論我如何嘗試,嘗試以編程方式打開都會引發錯誤。

我一直在Popen包中使用Popen方法:

from subprocess import Popen
Popen('./temp/testtest.xlsx')

給出:

PermissionError: [Errno 13] Permission denied: './temp/testtest.xlsx'

我隨后嘗試更改文件權限:

import os
from subprocess import Popen

os.chmod('./temp/testtest.xlsx',0o777)
Popen('./temp/testtest.xlsx')

這給了:

Out[127]: <subprocess.Popen at 0x7faeb22a4b00>invalid file (bad magic number): Exec format error

為了更好的判斷,嘗試以 shell 運行:

from subprocess import Popen
Popen('./temp/testtest.xlsx', shell=True)

這給了:

invalid file (bad magic number): Exec format error 
Out[129]: <subprocess.Popen at 0x7faeb22a46a0>

我也用保存在不同目錄中的文件嘗試了類似的錯誤。 如果重要的話,我正在使用openpyxl模塊來創建和保存 excel 文件,但即使它是我手動創建的 excel 文件,我也遇到了同樣的問題。

Popen()的參數需要是一個 shell 命令來打開文件。 如果您使用的是 LibreOffice,則程序是localc 如果您使用的是 OpenOffice,則是oocalc

from subprocess import Popen
import os
f = os.path.join('temp', filename)
Popen(['localc', f])

你在這里有很多選擇。 您可以安裝 libreoffice,這是一個開源辦公套件,相當不錯,您應該能夠直接使用ooffice —-calc “filename”打開該文件。 如果你真的想繼續使用 python 你可以將數據保存到 .csv 文件,pythons anaconda 發行版有 pandas 庫,你可以很容易地將 .csv 讀入數據框。 import pandas as pd然后pd.read_csv(“File_name.csv”)返回給你一個數據幀,但記得import osos.chdir(r“/path/to/data”) 從那時起,pandas 可讓您輕松訪問數據以進行繪圖或操作。

這是數據框的所有功能,看看它是否符合您的喜好。

Python Pandas 數據幀

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM