PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Прочетете CSV/Excel файлове от SFTP файл, направете някои промени в тези файлове с помощта на Pandas и запазете обратно

Готови сте с изтеглянето.

За частта за качване вижте Как да прехвърлите Pandas DataFrame към .csv на SFTP с помощта на библиотеката Paramiko в Python? – Докато е за 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 , вижте:
Записването във файл на SFTP сървър, отворен чрез метода "open" на pysftp, е бавно

Задължително предупреждение:Не задавайте 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. Postgres - Как да конвертирате ред с int диапазон в междинни редове от отделни стойности от този диапазон?

  2. Изберете отключен ред в Postgresql

  3. Как мога да проверя уникод низ на Python, за да видя, че *всъщност* е правилен Unicode?

  4. Множество CTE в една заявка

  5. Не може да се импортира .csv в Cloud SQL от конзолата