I need help generating a dynamic list of files to be opened by pandas.read_csv()
_ExtensionToLookFor = '.csv'
# Setting up boolean to check for CSV
_isCsv = None
# Returning all files in folder ** If the folder needs to be changed - FilePath #
_FileReturn = [_Files for _Files in listdir(_FilePath) if isfile(join(_FilePath,_Files))]
_FileReturn = pd.DataFrame(_FileReturn)
_FileReturn.columns = ['Files']
# Returning only CSV files #
_FileReturn = _FileReturn[_FileReturn['Files'].str.contains('.csv')]
def SpcFormat(_FileReturn):
def __init__(self,_FileReturn):
self._FileReturn = _FileReturn
def __DataframeCreation__(self):
_FileReturn = self._FileReturn
for i in _FileReturn:
StartInt = 1
I am having trouble accomplishing this, near the bottom I am trying to iterate over the list and name the dataframes equivalent to the count position.
So in pseudo code it should go like this
For Files in _FileReturn:
Create New DataFrame(StartInt) = Pandas.Read_csv(DataFrame(IntPosition)+_ExtensionToLookFor)
StartInt ++ // Add One
Thanks !
*Edit: For clarity what I am trying to do is check a folder - return all the files in the folder - filter by a specific file type THEN dynamically create Dataframes WITH a format of names according to the amount of Csv files retrieved *
_FilePath = r'\\Ezquest\Quality Control\Transend Programs\ConversionTest'
# Returning all files in folder ** If the folder needs to be changed - FilePath #
_FileReturn = glob(_FilePath + '\\' + '*.csv')
#_FileReturn = [_Files for _Files in listdir(_FilePath) if isfile(join(_FilePath,_Files))]
_FileReturn = pd.DataFrame(_FileReturn)
_FileReturn.columns = ['Files']
# Returning only CSV files #
_Files = {
'csv_' + str(_FileReturnName): pd.read_csv(_FileReturn['Files'],sep=',',encoding='latin')
for _FileReturnName in range(len(_FileReturn['Files']))
}
The above code includes part of an answer from @J. Doe - Although I am returning
_Files = {
'csv_' + str(_FileReturnName): pd.read_csv(_FileReturn['Files'],sep=',',encoding='latin')
for _FileReturnName in range(len(_FileReturn['Files']))
}
Traceback (most recent call last):
File "<ipython-input-3-a7027d4eb492>", line 3, in <module>
for _FileReturnName in range(len(_FileReturn['Files']))
File "<ipython-input-3-a7027d4eb492>", line 3, in <dictcomp>
for _FileReturnName in range(len(_FileReturn['Files']))
File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 702, in parser_f
return _read(filepath_or_buffer, kwds)
File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 413, in _read
filepath_or_buffer, encoding, compression)
File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\common.py", line 232, in get_filepath_or_buffer
raise ValueError(msg.format(_type=type(filepath_or_buffer)))
ValueError: Invalid file path or buffer object type: <class 'pandas.core.series.Series'>
Any further help would be appreciated!