PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

SFTP फ़ाइल से CSV/Excel फ़ाइलें पढ़ें, पांडा का उपयोग करके उन फ़ाइलों में कुछ बदलाव करें और वापस सहेजें

आपने डाउनलोड भाग पूरा कर लिया है।

अपलोड भाग के लिए, देखें पायथन में 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 के साथ होस्ट कुंजी सत्यापित करें



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ट्रिगर प्रक्रिया में कुछ न करें

  2. कैसे pgAdmin III में कई तालिकाओं के लिए एक बनाएँ स्क्रिप्ट उत्पन्न करने के लिए?

  3. PostgreSQL 9.0 में डेटाबेस निर्माण समय कैसे प्राप्त करें?

  4. psql:FATAL:भूमिका के लिए बहुत सारे कनेक्शन

  5. PostgreSQL में स्थानीय समय क्षेत्र ऑफसेट