Создайте и загрузите CSV-файл в azure хранилище BLOB-объектов, используя python - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь создать файл csv, используя python, а затем загрузить этот файл в azure хранилище BLOB-объектов. Я могу создать файл csv, эта часть работает нормально, но когда я пытаюсь загрузить файл в blob:

blob.upload_blob(data=df.to_csv("capacity.csv",index=False))

, я получаю сообщение об ошибке:

Traceback (most recent call last):
  File ".\blob.py", line 94, in <module>
    blob.upload_blob(data=df.to_csv("data.csv",index=False))
  File "C:\Python38\lib\site-packages\azure\core\tracing\decorator.py", line 83, in wrapper_use_tracer    return func(*args, **kwargs)
  File "C:\Python38\lib\site-packages\azure\storage\blob\_blob_client.py", line 489, in upload_blob   
    options = self._upload_blob_options(
  File "C:\Python38\lib\site-packages\azure\storage\blob\_blob_client.py", line 332, in _upload_blob_options
    raise TypeError("Unsupported data type: {}".format(type(data)))
TypeError: Unsupported data type: <class 'NoneType'>

После этого я попытался загрузить какой-то локальный CSV-файл, просто чтобы проверить, работает ли он:

with open(path_to_file, "rb") as data:
   blob.upload_blob( data=data)

И это сработало. Я не уверен, что вызывает эту ошибку, я некоторое время искал решение, но у меня ничего не работает.

1 Ответ

0 голосов
/ 13 июля 2020

Вы снова конвертируете .csv-File в csv:

blob.upload_blob(data=df.to_csv("capacity.csv",index=False))
                                 ^

Но вы должны преобразовать свой DataFrame в csv:

blob.upload_blob(data=df.to_csv(index=False))
                                
...