【问题标题】:Getting a file name after being loaded into Google Colab加载到 Google Colab 后获取文件名
【发布时间】:2020-05-28 20:20:27
【问题描述】:

我想要的:通过以下代码获取刚刚上传到Google Colab的文件的文件名。

from google.colab import files
uploaded = files.upload()

我试过:上传后打印文件,我得到以下输出。

print(uploaded)
{'2019.06.01_Short Maintenance - Vehicle, Malibu_TGZ.csv': b'Year,Miles,$/Gallon,Total $,Vehicle\r\n6/1/2019,343.4,2.529,28,Malibu\r\n6/8/2019,34.3,2.529,5,Malibu\r\n6/8/2019,315.6,2.529,33.1,Malibu\r\n6/30/2019,323,2.399,30,Malibu\r\n7/5/2019,316.4,2.559,31,Malibu\r\n7/12/2019,334.6,2.529,30.45,Malibu\r\n7/21/2019,288.7,2.459,33.75,Malibu\r\n7/29/2019,336.7,2.419,28,Malibu\r\n8/6/2019,317.3,2.379,30.45,Malibu\r\n8/14/2019,340.9,2.359,30.1,Malibu\r\n8/22/2019,307.4,2.299,29.85,Malibu\r\n9/1/2019,239.1,2.279,29.7,Malibu\r\n9/14/2019,237.8,2.419,28.9,Malibu\r\n9/6/2019,288,2.469,30.4,Malibu\r\n10/13/2019,305.7,2.299,27.81,Malibu\r\n10/20/2019,330.7,2.369,30.05,Malibu\r\n11/8/2019,257,2.429,32.4,Malibu\r\n12/3/2019,249.3,2.319,5.01,Malibu\r\n12/7/2019,37.2,2.099,25,Malibu\r\n12/22/2019,276.4,2.229,29.4,Malibu\r\n1/12/2020,334,2.199,5,Malibu\r\n1/19/2020,51,2.009,28.15,Malibu\r\n2/8/2020,231.5,2.079,25.8,Malibu\r\n2/23/2020,254.7,2.159,25.75,Malibu\r\n3/19/2020,235.3,1.879,23.15,Malibu\r\n5/22/2020,303,1.699,23.15,Malibu\r\n'}

它似乎是一个 dic,其中 key 为文件名,value 为文件中所有数据的字符串。我不知道如何获取键值,假设这是我需要做的。

【问题讨论】:

    标签: python upload filenames google-colaboratory


    【解决方案1】:

    它在上传的键中。可以使用 iter() 和 next() 来获取。

    filename = next(iter(uploaded))
    

    【讨论】:

    • 当存在同名文件时,上传的文件名会改变(输出会是这样的:"Saving filename.txt to filename (1).txt"),但是这个命令返回原始文件名:filename.txt,这将导致使用此变量加载文件时出错
    【解决方案2】:

    通过获取密钥访问

    filenames = uploaded.keys()
    
    for file in filenames:
        data = uploaded[file]
    

    如果您有多个文件,只需为您的数据创建一个列表并附加检索到的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-03
      • 2022-11-07
      • 2020-06-07
      • 1970-01-01
      • 2020-10-21
      • 2021-06-04
      • 2012-09-14
      相关资源
      最近更新 更多