【问题标题】:Merging multiple .txt files in Google Colab在 Google Colab 中合并多个 .txt 文件
【发布时间】:2020-07-09 09:05:08
【问题描述】:

我的本​​地系统中有大约 500 个 .txt 文件,我希望将它们合并到 Google Colab 中的数据框中。我已经通过上传选项上传了它们,我上传了包含 .txt 文件的压缩文件夹,然后在 Google Colab 中将它们解压缩。每个 .txt 文件都有一行数据,例如。 0 12 34.3 423

我尝试了以下代码直接从本地系统上传,但没有成功

【问题讨论】:

标签: python dataframe google-colaboratory


【解决方案1】:

据我所知,Colab 无法通过典型的内置插件访问您的本地文件。您必须使用 Colab 特定的模块。指南是here

from google.colab import files

uploaded = files.upload()

for fn in uploaded.keys():
  print('User uploaded file "{name}" with length {length} bytes'.format(
      name=fn, length=len(uploaded[fn])))

这将提示您选择要上传的文件。

编辑:由于您需要文件名,您可以使用上面的循环,然后按照您正确提到的方式连接。

# create a list of file names
file = []
for fn in uploaded.keys():
    files.append(fn)

# create a list of dataframes
for file in files:
        new = pd.read_csv(file)
        try:
            frames.append(new)
        except: 
            frames = [new] 

# concat all of your frames at once
df = pd.concat(frames)

或者,根据文件的大小,您还可以加入 for 循环并加载一个文件并将其直接连接到现有帧,这样内存一次只能容纳更少的数据。

【讨论】:

  • 感谢您的及时回复。我可以使用您提到的上传选项在 Google Colab 中上传文件,但是我遇到了合并这些单个文件的问题。例如,我可以使用导入选项并使用 df = pd.read_csv(io.BytesIO(uploaded['text_01.txt'])) 将文件转换为数据框,然后将它们全部连接起来。问题是我有大约 500 个不同名称的文件
  • 只需循环浏览您上传的对象并创建文件名列表!我将编辑答案,一秒钟。
  • 感谢您更新代码。它成功地合并了文件并创建了一个数据框。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 2023-02-03
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
相关资源
最近更新 更多