[英]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.