आपने डाउनलोड भाग पूरा कर लिया है।
अपलोड भाग के लिए, देखें पायथन में Paramiko लाइब्रेरी का उपयोग करके SFTP पर पांडा डेटाफ़्रेम को .csv में कैसे स्थानांतरित करें?ए> - जबकि यह Paramiko के लिए है, pysftp Connection.open
विधि
Paramiko SFTPClient.open
, इसलिए कोड समान है।
पूरा कोड इस तरह हो सकता है:
with sftp.open("/remote/path/data.csv", "r+", bufsize=32768) as f:
# Download CSV contents from SFTP to memory
df = pd.read_csv(f)
# Modify as you need (just an example)
df.at[0, 'Name'] = 'changed'
# Upload the in-memory data back to SFTP
f.seek(0)
df.to_csv(f, index=False)
# Truncate the remote file in case the new version of the contents is smaller
f.truncate(f.tell())
उपरोक्त उसी फ़ाइल को अद्यतन करता है। यदि आप किसी भिन्न फ़ाइल पर अपलोड करना चाहते हैं, तो इसका उपयोग करें:
# Download CSV contents from SFTP to memory
with sftp.open("/remote/path/source.csv", "r") as f:
df = pd.read_csv(f)
# Modify as you need (just an example)
df.at[0, 'Name'] = 'changed'
# Upload the in-memory data back to SFTP
with sftp.open("/remote/path/target.csv", "w", bufsize=32768) as f:
df.to_csv(f, index=False)
bufsize
. के प्रयोजन के लिए , देखें:
अनिवार्य चेतावनी:cnopts.hostkeys = None
सेट न करें , जब तक कि आपको सुरक्षा की परवाह न हो। सही समाधान के लिए देखें pysftp के साथ होस्ट कुंजी सत्यापित करें
।