繁体   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