Search code examples
pythonpython-3.xpandaspandas.excelwriter

"No such file or directory" when using ExcelWriter pointing to a server


Using Visual Studio Code.

Python 3 installed on local.

Working files stored on a server.

I am using pandas ExcelWriter to modify excel file.

If ExcelWriter points to local path then it works fine,

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

but if I point it to a server location then it gives me an error:

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

sample code:

 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()

What would be the way to use server location ?


Solution

  • Network/server paths need four backslashes in front of them.
    E.g. \\\\01.02.03.04\\...