【问题标题】:"No such file or directory" when using ExcelWriter pointing to a server使用指向服务器的 ExcelWriter 时“没有这样的文件或目录”
【发布时间】:2019-08-14 19:39:22
【问题描述】:

使用 Visual Studio 代码。

Python 3 安装在本地。

存储在服务器上的工作文件。

我正在使用 pandas ExcelWriter 来修改 excel 文件。

如果ExcelWriter 指向本地路径,那么它工作正常,

writer = pd.ExcelWriter('C:\\Users\\username\\Documents\\TestingFolder\\ExpirationList.xlsx') 

但是如果我将它指向一个服务器位置,那么它会给我一个错误:

FileNotFoundError: [Errno 2] No such file or directory: '\\01.02.03.04\\username\\Documents\\Documents\\Python\\"Expiration List report email send out"\\ExpirationList.xlsx' 

示例代码:

 import pandas as pd 
    import pyodbc 
    import smtplib 
    from email.mime.multipart import MIMEMultipart 
    from email.mime.text import MIMEText 
    from email.mime.base import MIMEBase 
    from email import encoders 
    import datetime
    import calendar


    query = """select top 5 PolicyNumber from tblQuotes where PolicyNumber is not null"""
    conn = pyodbc.connect('DRIVER={SQL Server};server=servername;DATABASE=dbName;Trusted_Connection=yes;')
    df = pd.read_sql_query(query, conn)

    writer = pd.ExcelWriter('C:\\Users\\username\\Documents\\TestingFolder\\ExpirationList.xlsx') 

    #Does not work
    writer = pd.ExcelWriter('\\01.02.03.04\\username\\Documents\\Documents\\Python\\"Expiration List report email send out"\\ExpirationList.xlsx')  

    df.to_excel(writer, sheet_name='Sheet1', startrow=4, header=False, index=False)
    writer.save()

使用服务器位置的方式是什么?

【问题讨论】:

  • 这可能不是唯一的问题,但对于服务器路径,您需要在 IP 地址前面加上四个反斜杠,例如\\\\01.02.03.04\\...
  • 这是问题所在。谢谢你。我不知道那件事。请发布答案。
  • 不客气。已发布答案。

标签: python python-3.x pandas pandas.excelwriter


【解决方案1】:

网络/服务器路径前面需要四个反斜杠。
例如。 \\\\01.02.03.04\\...

【讨论】:

  • 太棒了!谢谢!
【解决方案2】:

正如其他答案所示,您可以将反斜杠加倍以获得正确的转义。或者,使用“原始”字符串:

r'\\01.02.03.04\username\Documents\Documents\Python\"Expiration List report email send out"\ExpirationList.xlsx')  

请注意,此原始字符串中没有任何反斜杠被转义。

【讨论】:

    猜你喜欢
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    相关资源
    最近更新 更多