Хобрук: Ваш путь к мастерству в программировании

Импорт файла CSV в Google Colab с помощью numpy loadtxt

Я пытаюсь перенести записную книжку JupyterLab на Google Colab. В JupyterLab, когда у меня есть файл записной книжки и связанные файлы csv в одном каталоге, легко импортировать данные с помощью функции loadtxt numpy следующим образом:

import numpy as np
filein = "testfile.csv"
data = np.loadtxt(open(filein, "rb"), delimiter=",", skiprows=1)

По разным причинам я хотел бы продолжать использовать np.loadtxt в Colab. Однако, когда я пробую там тот же код, он не может найти файл csv, несмотря на то, что он находится в том же месте на Google Диске, что и файл записной книжки. Я получаю эту ошибку: "FileNotFoundError: [Errno 2] No such file or directory: 'testfile.csv'".

Я так понимаю, мне нужно каким-то образом указать путь к файлу, но я не могу понять, как это сделать. Есть ли простой способ использовать np.loadtxt?


  • Интересно, что этот подход отлично работает в Microsoft Azure Notebook. 12.03.2019
  • Попробуйте os.listdir("."), посмотрите, что вы найдете. 12.03.2019
  • @RockyLi В результате я получаю ['.config', 'sample_data']. Я не вижу ни одного из этих файлов в папке диска Google, в которой находится ноутбук, поэтому он должен быть запущен в каком-то другом каталоге. 12.03.2019
  • что делает os.getcwd()outputs? а что это за каталог testfile.csv? 31.03.2019
  • Когда я набираю os.getcwd() в блокноте, я получаю: '/content'. Я поместил файл testfile.csv в тот же каталог, что и файл записной книжки Jupyter, который находится на моем диске Google по адресу: My Drive>Colab Notebooks 31.03.2019

Ответы:


1

Colab не монтирует Google Диск автоматически. По умолчанию рабочий каталог /content на временной внутренней виртуальной машине.

Чтобы получить доступ к файлу на Диске, вам необходимо сначала смонтировать его, используя следующий фрагмент:

from google.colab import drive
drive.mount('/content/gdrive')

Затем %cd /content/gdrive/My\ Drive измените рабочий каталог на корневой каталог вашего Диска. (Или настройте путь по мере необходимости туда, где находится testfile.csv.)

31.03.2019
  • Спасибо, это работает. Я был близок, но не сделал %cd. 31.03.2019

  • 2

    Вот еще один способ, требующий меньшего ручного вмешательства. Это более полезно, если вы собираетесь запускать записную книжку colab в течение длительного времени в нескольких отключенных сеансах, чтобы вам не приходилось каждый раз вручную загружать файл.

    1. Загрузите текстовый файл на Google Диск. Нажмите «Поделиться» и получите ссылку, которой можно поделиться. Например, это пример общей ссылки для файла iris.csv: https://drive.google.com/file/d/1Llp483f91dAJriuE6PanmecLA9sWDPyi/view

    2. Скопируйте идентификатор файла по указанной выше ссылке. В данном случае это 1Llp483f91dAJriuE6PanmecLA9sWDPyi

    3. Теперь вы можете скачать файл, используя ячейку ниже в любой записной книжке Colab:

      file_id = "1Llp483f91dAJriuE6PanmecLA9sWDPyi" # replace with your ID
      !gdown https://drive.google.com/uc?id={file_id}
      

    Введите !ls, чтобы увидеть файл в рабочем пространстве.

    Подробное официальное руководство можно найти в этой записной книжке: https://colab.research.google.com/notebooks/io.ipynb

    04.04.2019
  • Это интересно. Файл постоянно загружается на мой диск Google, поэтому не нужно делать это каждый раз. Причина, по которой я рассматриваю использование Google colab вместо Microsoft Azure Notebook, заключается в том, что я хочу, чтобы записная книжка и файлы данных были доступны только определенным пользователям, а не были общедоступными. 04.04.2019

  • 3

    Короче и без команды

    # mount gdrive with this code
    from google.colab import drive
    drive.mount('/content/drive')
    #below where the file is in gdrive, change with your
    data_path = "/content/drive/My Drive/Colab Notebooks/test/"
    yearsBase, meanBase = np.loadtxt(data_path + 'file.csv', delimiter=',', unpack=True)
    

    готово, другой код не нужен ciao

    19.02.2020
  • он запрашивает подтверждение, хотя 22.03.2020
  • Новые материалы

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

    Обзор: Машинное обучение: классификация
    Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

    Разработка расширений Qlik Sense с qExt
    Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..