【问题标题】:Need to merge information from four files together [closed]需要将四个文件中的信息合并在一起[关闭]
【发布时间】:2012-06-26 18:34:55
【问题描述】:

我有 2 个大文件,都包含我想要的信息片段,我已将信息提取到输出文件中,现在我有 4 个文件,其中包含我需要的信息。

我想要做的是将四个文件中的信息合并到一个文件中,格式简洁,只要它是逐行格式,包括 4 列并用逗号分隔,我希望能够放打开文件顶部的一些东西,让用户知道列中的信息。这在python>中可能吗?

这是我要合并的信息:

'/usr/share/doc/HTML/es/kioslave/index.docbook' 

Redhat 7.3' 

Linux' 

D84270022E57F1850C8464FA432ADFF99588157B'

每一行都是我拥有的文件中的 1 行,它们有很多行,所以我无法发布整个内容,但这是信息的一个示例。

【问题讨论】:

  • 查看一个可以排除故障的示例可能对我们有所帮助。

标签: python python-2.7 parsing merge


【解决方案1】:

Python zip 函数用于将多个源组合成一个元组。

for row in zip(file1, file2, file3, file4):
    # output the 4 column values in row

【讨论】:

  • 这很完美,但有什么办法可以去掉它们之间的“/n”
  • 以及如何将输出格式逐行而不是全部混合在一起
  • @BrayanHernandez,最简单的方法是在输出之前对每个字符串调用.strip()。然后在行尾添加\n
  • fhand.write(line.strip() + pathNames.readline().strip() + os.readline().strip() + product.readline().strip() + '/ n')
  • 谢谢 :) 我搞定了...正在使用 /n 而不是 \n >
【解决方案2】:

这完全有可能——查看csv 模块,这很可能是您需要的。它易于使用。

您将创建一个逗号分隔值文件 (.csv),其中第一行将是指示每行内容的标题,即

path,distro,os,serial
'/usr/share/doc/HTML/es/kioslave/index.docbook' ,'Redhat 7.3', 'Linux', D84270022E57F1850C8464FA432ADFF99588157B'

【讨论】:

  • cvs 模块?我在这方面还很陌生,没有太多经验。
  • 编辑了帖子以添加一些信息——只需阅读我链接的文档即可。这是我将 python 用于实际世界的第一个用途之一,因此我相信您将能够从那里解决它。
猜你喜欢
  • 2020-03-25
  • 1970-01-01
  • 2011-08-02
  • 2022-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-06
  • 2012-06-09
相关资源
最近更新 更多