I'm trying to read the two latest sheets in my folder READ1
and READ2
with pandas. Usually when I read files the file name has to be formatted at 'File.xlsx'
but the method I'm using is printing in the terminal as File.xlsx
. I tried changing the format with:
one = [str("'") str(READ1) str("'")]
print(one)
Which outputs as ["'None'"]
My Code:
import glob
import os
import os.path
import pandas as pd
import xlsxwriter as xl
from pandas_datareader import data as pdr
import numpy as np
latest_file = sorted(glob.iglob('C:\My Folder\*'), key=os.path.getmtime)
READ1 = print(latest_file[0])
READ2 = print(latest_file[1])
File1 = pd.read_excel(READ1,sheet_name='Sheet1', header=None)
File2 = pd.read_excel(READ2,sheet_name='Sheet1', header=None)
print(File1)
If I run my code as is I get
inspect_excel_format assert content_or_path is not None
AssertionError
I have tried changing them to csv files too but that doesn't change anything. I think Python is reading it as an undefined variable. Such as:
READ1 = [File.xlsx]
has the error:
NameError: name 'File' is not defined
I have been referenceing: How to get the latest file in a folder? https://datatofish.com/latest-file-python/
CodePudding user response:
The print
method just prints its arguments to the terminal and returns None
, so READ1
and READ2
are None
.
Replace:
READ1 = print(latest_file[0])
READ2 = print(latest_file[1])
with:
READ1 = latest_file[0]
READ2 = latest_file[1]