我正在Windows10计算机上使用python上的openpyxl库,并尝试用whitesp加载_工作簿

2024-10-02 12:25:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一台Windows10计算机上使用Python3.5上的openpyxl库,并试图加载带有空白的路径名。在

我在网上查过了,似乎自己也解决不了这个问题。我在下面列出了我的一些尝试。在

我一定是完全漏掉了什么东西,因为我找不到其他人来询问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公司


Tags: importosloadspaceworkworkbookprinttry
1条回答
网友
1楼 · 发布于 2024-10-02 12:25:16

在openpyxl.load_工作簿()可以读取包含空格的路径。在我的完全可复制的示例中,工作簿名称和文件夹中有空白。在

我猜如果你没有在你的字符串前面加一个“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)

这个例子在Windows10、Python3.5和OpenPyXL2.4.7上进行了测试。在

相关问题 更多 >

    热门问题