Python не отображается вся форма файла CSV SFTP - PullRequest
0 голосов
/ 08 апреля 2020

Итак, я подключился к SFTP-серверу с помощью paramiko и пытаюсь отобразить весь CSV-файл, не загружая его.

import paramiko


host,port = 'HOST',22
transport = paramiko.Transport((host,port))


username,password = 'LOGIN','PASS'
transport.connect(None,username,password)


sftp = paramiko.SFTPClient.from_transport(transport)


listdir = sftp.listdir()


import pandas
import csv
file = sftp.open('fixed.csv')


csvreal = pandas.read_csv(file)
for row in csvreal:
    print(row)




file.close()

if sftp: sftp.close()
if transport: transport.close()

Файл CSV содержит сотни строк, но когда я запускаю его, он отображает только первую строку. Что я делаю неправильно? Не знаю, почему это не должно работать должным образом. Пожалуйста, дайте мне знать, спасибо!

1 Ответ

0 голосов
/ 08 апреля 2020

Пока что вы ни используете пакет csv вообще, ни pandas на полную мощность.

Если вы просто хотите напечатать всю строку как одну, вы можете заменить свой l oop :

for index, row in csvreal.iterrows():
    print(csvreal.loc[[index]].to_string(index=False, header=False))

Чтобы проанализировать ваши данные, вы можете поближе взглянуть на документацию pandas и начать с некоторых учебных пособий. Исходя из вашего комментария, ваши данные могут выглядеть примерно как d, поэтому для начала рассмотрим следующий фрагмент кода:

d = {'COURSENAME': ['french', 'spanish'], 'COURSECODE': ['F1', 'S2'], 'COMPLETION_DATE': ['2020-04-08', '2020-01-27']}
csvreal = pd.DataFrame(data=d)
print(csvreal)
for index, row in csvreal.iterrows():
    print('The course', row['COURSENAME'], 'was completed on', row['COMPLETION_DATE'])

В зависимости от ваших данных, может быть полезно сбросить индекс. Пожалуйста, предоставьте более подробную информацию о структуре вашего CSV-файла (особенно заголовок) для более конкретного c ответа.

...