簡體   English   中英

如何遍歷 Google Drive 文件夾中的多個文本 (.txt) 文件以上傳到 Google Colab?

[英]How do I iterate through multiple text(.txt) files in a folder on Google Drive to upload on Google Colab?

我在 Google Drive 上有一個包含多個文本文件的文件夾。 我想通過遍歷文件夾中的每個文件將它們上傳到 Google colab。 如果有人可以幫助我解決這個問題,那就太好了

您需要位於同一文件夾中的 listOfFileNames.txt 文件; 例如,我有一個 listOfDates.txt 文件,其中存儲了以日期為標題的文件名。

import numpy as np
import pandas pd

#listOfFilesNames = ['8_26_2021', '8_27_2021', '8_29_2021', '8_30_2021']
savedListOfFileNames = pd.read_csv('listOfFilesNames.txt', header = None).copy()
emptyVectorToStoreAllOfTheData = []
listOfFileNames = []
for iteratingThroughFileNames in range(len(savedListOfFileNames)):
  listOfFileNames.append(savedListOfFileNames[0][iteratingThroughFileNames])

for iteratingThroughFileNames in range(len(listOfFileNames)):
  currentFile = pd.read_csv(listOfFileNames[0][iteratingThroughFileNames] + '.txt').copy()
  for iteratingThroughCurrentFile in range(len(currentFile)):
    emptyVectorToStoreAllOfTheData.append(currentFile[0][iteratingThroughCurrentfile])

如果您不知道如何訪問您的文件夾和文件,那么您需要 (1) 安裝您的驅動器並 (2) 定義一個 createWorkingDirectoryFunction:

import os
from google.colab import drive
myGoogleDrive = drive.mount('/content/drive', force_remount = True)
def createWorkingDirectoryFunction(projectFolder, rootDirectory):
  if os.path.isdir(rootDirectory + projectFolder) == False:
    os.mkdir(rootDirectory + projectFolder)
  os.chdir(rootDirectory + projectFolder)

projectFolder = '/folderContainingMyFiles/' # Folder you want to access and/or create
rootDirectory = '/content/drive/My Drive/Colab Notebooks'
createWorkingDirectoryFunction(projectFolder, rootDirectory)

為了從您的谷歌驅動器(不是 .zip 或 .rar 文件夾)讀取 txt 文件:

首先你必須掛載(就像大多數同時在谷歌驅動器上工作的 colab 代碼一樣)

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

然后以下代碼將讀取路徑文件夾中的任何文本文件(任何以 .txt 結尾的文件)並將它們保存到 new_list。

import os

new_list = []
for root, dirs, files in os.walk("/content/.../folder_of_txt_files"):
    for file in files:
        if file.endswith('.txt'):
            with open(os.path.join(root, file), 'r') as f:
                text = f.read()
                new_list.append(text)

顯然,您可以保存到字典或數據框或您喜歡的任何數據結構中。

注意: idk 為什么但有時您需要將 'r' 更改為 'rb'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM