簡體   English   中英

我正在Windows 10計算機上的python上使用openpyxl庫,並嘗試使用空白load_workbook

[英]I am using the openpyxl library on python on a windows 10 computer and trying to load_workbook with whitespace

我正在Windows 10計算機上的python 3.5上使用openpyxl庫,並嘗試load_workbook()具有空格的路徑名。

我在網上查詢過,似乎無法自己解決。 我在下面列出了一些嘗試。

我必須完全缺少一些東西,因為找不到其他人詢問有關openpyxl的特定問題。

任何幫助將不勝感激。

我當前的解決方法是使用python檢查並可能重命名文件以刪除空格,但這似乎完全沒有必要,而且我可能並不總是具有執行此操作的權限。

import openpyxl
from openpyxl import load_workbook
import os

docName = "space book.xlsx"
docNameWithExits = "space^ book.xlsm"
fullPathOfDocument =  "./" + docName
fullPathOfDocumentExtraPar = "'" + "./" + docName + "'"
fullOsPath =  os.path.join("." , docName)
docObject = open(fullPathOfDocument,"rb")

try:
    attempt1 = load_workbook(docName)
    print("worked")
except:
    print("didnt work")

try:
    attempt2 = load_workbook(fullPathOfDocument)
    print("worked")
except:
    print("didnt work")

try:
    attempt3 = load_workbook(fullPathOfDocumentExtraPar)
    print("worked")
except:
    print("didnt work")

try:
    attempt4 = load_workbook(docNameWithExits)
    print("worked")
except:
    print("didnt work")

try:
    attempt5 = load_workbook(fullOsPathvar)
    print("worked")
except:
    print("didnt work")

try:
    attempt6 = load_workbook(docObject)
    print("worked")
except:
    print("The computer has won")

預先感謝您的任何幫助問候,-Nex

openpyxl.load_workbook()可以讀取其中包含空格的路徑。 在我的完全可復制的示例中,工作簿名稱和文件夾中有空格。

我猜想如果您的字符串前面沒有“ r”,則會出現問題。 “ r”將告訴python將給定的字符串視為原始字符串。

import os
from openpyxl import Workbook
from openpyxl import load_workbook

# Path to be created - please change to your desired folder location
path = r"C:\Users\doe_j\test\python\a path\with spaces"
wb_name = path + r"\space book.xlsx"

if os.path.isdir(path) != True:
    os.makedirs(path)
    print(path, "created!")
elif os.path.isdir(path) != False:
    print(path, "already exists!") 


# making a workbook so this example is reproducible
wb = Workbook()
ws = wb.active

ws["A1"] = "Putting some text in"

wb.save(wb_name)

# loading that same workbook 
wb = load_workbook(wb_name)
ws = wb.active

ws["A3"] = "Adding Some more text in"

wb.save(wb_name)

此示例已在Windows 10,python 3.5和openpyxl 2.4.7上進行了測試。

暫無
暫無

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

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