2015-04-30 23 views
5

Tôi đã thiết lập một máy chủ ipython cho người khác (trong bộ phận công ty của tôi) để có cơ hội học hỏi và làm việc với python.Tải dữ liệu cục bộ vào máy chủ xách tay IPython

Bây giờ tôi tự hỏi làm cách nào mọi người có thể tải dữ liệu cục bộ của riêng mình vào phiên sổ ghi chép ipython trên máy chủ từ xa. Có cách nào để làm điều này không?

+0

Bạn đang sử dụng phiên bản 'IPython' nào? Có thể nâng cấp lên 'jupyter' – Amit

+0

Tôi đang sử dụng jupyter. Vậy có cách nào để tải lên dữ liệu không? –

+0

Chỉ cần chạy 'jupyter' từ thư mục (hoặc thư mục gốc) bạn muốn dữ liệu từ đó. – Amit

Trả lời

5

Vì bạn đã cài đặt jupyter, tất cả người dùng sẽ thấy các tệp/thư mục trong thư mục khởi động jupyter cũng như thư mục con của nó. Bạn có thể sử dụng nút new trên máy tính xách tay jupyter để tạo tệp/thư mục mới hoặc thậm chí là thiết bị đầu cuối. Các tệp có thể được tải lên bằng cách sử dụng tính năng kéo thả hoặc click here được đánh dấu bên dưới.

enter image description here

+0

Nhưng điều này giúp tôi tải lên các tệp dữ liệu như thế nào? –

+1

@MichaelHecht - Bạn có thể kéo và thả tệp vào sổ ghi chép hoặc duyệt đến tệp được tải lên bằng cách sử dụng 'bấm vào đây'. Xem đánh dấu trong ảnh chụp màn hình được cập nhật. – Amit

+0

Ah ... ok ... Tôi là vài ngày tới không ở văn phòng, nhưng tôi sẽ kiểm tra nó càng sớm càng tốt. Cảm ơn bạn trước. –

3

Một cách khác để đạt được điều này với python:

def jupyter_upload(token, filePath, resourceDstPath, jupyterUrl='http://localhost:8888'): 
    """ 
     Uploads File to Jupyter Notebook Server 
     ---------------------------------------- 
     :param token: 
      The authorization token issued by Jupyter for authentification 
      (enabled by default as of version 4.3.0) 
     :param filePath: 
      The file path to the local content to be uploaded 

     :param resourceDstPath: 
      The path where resource should be placed. 
      The destination directory must exist. 

     :param jupyterUrl: 
      The url to the jupyter server. Default value is typical localhost installation. 

     :return: server response 

    """ 
    import os 
    import base64 
    import urllib 
    import json 
    import requests 
    dstPath = urllib.quote(resourceDstPath) 
    dstUrl = '%s/api/contents/%s' % (jupyterUrl, dstPath) 
    fileName = filePath[1 + filePath.rfind(os.sep):] 
    headers = {} 
    headers['Authorization'] = 'token '+token 
    with open(filePath, 'r') as myfile: 
     data=myfile.read() 
     b64data=base64.encodestring(data) 
     body = json.dumps({ 
      'content':b64data, 
      'name': fileName, 
      'path': resourceDstPath, 
      'format': 'base64', 
      'type':'file' 
     }) 
     return requests.put(dstUrl, data=body, headers=headers, verify=True) 
0

Nếu nó là một tập tin văn bản, tạo một tập tin rỗng, chỉnh sửa nó và sau đó copy/dán nội dung ..

Bạn có thể thực hiện việc này để bỏ qua giới hạn 25mb

0

Khi bạn chạy jupyter sổ ghi chép ipython, hãy nhấp vào mới -> Tới terminal và sau đó chỉ cần chạy lệnh sau:

You can pass your files **url** here and get your file uploaded on the server and you are ready to go. Otherwise directly drag a file or upload the file from the <code>upload</code> button.

Bạn có thể vượt qua các file của bạn url đây và nhận tập tin của bạn tải lên trên máy chủ và bạn đã sẵn sàng để đi. Nếu không, hãy kéo trực tiếp một tệp hoặc tải tệp lên từ nút upload.

Các vấn đề liên quan