【问题标题】:Separate one txt file to multiple txt files将一个txt文件分割成多个txt文件
【发布时间】:2020-12-04 21:13:01
【问题描述】:

我有一个文本 (.txt) 文件,其中包含

cat1.jpg 386,575,538,734,0
cat5.jpg 383,575,539,736,0
dog16.jpg 382,576,538,735,0
dog17.jpg 384,581,525,739,0
.
.
.

我想取每一行中的值,并将第一列中的名称作为文件名。

例子:

  • cat1.txt,如果打开cat1.txt,应该有(cat1.jpg 386,575,538,734,0)

  • cat5.txt,如果打开cat5.txt,应该有(cat5.jpg 383,575,539,736,0)

  • dog16.txt....

  • dog17.txt ...

  • .

  • .

我在 Ubuntu 中使用过man split,但它已经创建了

命令:split -l 1 sample.txt
输出:xaa.txt、xab.txt、xac.txt等。

我只想要cat1.txt、cat5.txt、dog16.txt、do17.txt等等。

您能帮忙解决这个问题吗? (Python 或 MatLab。)
提前致谢。

【问题讨论】:

  • 请修改此问题以显示您已经尝试过的内容以及遇到的错误。这听起来像是一个相当简单的问题,但 SO 不是代码编写服务。

标签: python text data-processing


【解决方案1】:

如果您的原始 .txt 文件的名称是例如pictures.txt:

with open("pictures.txt") as picfile:
    for line in picfile:
        fullname, __ = line.split(maxsplit=1)
        name, __ = fullname.split(".")
        with open(name + ".txt", "w") as outfile:
            outfile.write(line)

【讨论】:

  • 感谢您的快速回复。它只创建了 cat1.jpg 文件和其他文件,没有 .txt 也没有内容......
  • @pascaltx,我更正了我的答案(并测试了代码),现在它可以正常工作了。
  • @pascaltx,再试一次(复制/粘贴我的代码),它会创建所有带有 .txt 的文件,我对其进行了测试。
  • MarianD,非常感谢,
  • 非常感谢它为我节省了很多时间。你是最棒的:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-15
  • 1970-01-01
  • 2017-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多