May-13-2021, 06:31 PM
Hello everyone,
The following is my attempt to filter the last modified xls file on a ftp server and convert that file to a csv on the same server.
The following is my attempt to filter the last modified xls file on a ftp server and convert that file to a csv on the same server.
from datetime import datetime
import ftplib
import ftputil
import pandas as pd
# Download some files from the login directory.
with ftputil.FTPHost('ftp.123.com', 'username', 'password') as host:
flz= []
name2 = host.curdir
names = host.listdir(host.curdir)
print(host.curdir)
print(name2)
for name in names:
if host.path.splitext(name)[1] == '.xls':
mtime = host.path.getmtime(name)
converttime = datetime.fromtimestamp(mtime).strftime('%Y-%m-%d %H:%M:%S')
flz.append(name)
print(name,converttime)
for i in range(0, len(flz)):
if i == (len(flz) - 1):
print("This is the last element : " + str(flz[i]))
# Read the file
if host.path.isfile(str(flz[i])):
# Read the file
read_file = pd.read_excel(host.getcwd()(f'{flz[i]}'))
# Reconstruct file name, converting extension from '.xls' to '.csv'
output_csv = f"{host.getcwd()(str(flz[i]).name.replace('.xls', ''))}.csv"
# Create output csv file
read_file.to_csv(output_csv, index=None, header=True)
# Read csv file into DataFrame
df = pd.DataFrame(pd.read_csv(f"{host.curdir(get.cwd() / 'output_csv')}"))
# Output DataFrame
print(df)
print('Done')When ran I get an error message of: Traceback (most recent call last):
File "C:\Users\mrdrj\Desktop\Desk--2021 April 23\Desktop(Update)\ftpdownload.py", line 29, in <module>
read_file = pd.read_excel(host.getcwd()(f'{flz[i]}'))
TypeError: 'str' object is not callableHow can I solve the filter and convert to csv ftp issue? Thanks
