繁体   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