【问题标题】:Pandas python merge multiple file textPandas python合并多个文件文本
【发布时间】:2019-01-28 07:49:09
【问题描述】:

我有 2 个文件文本: 文件 1.txt

abc
fdg
erg

file2.txt

pot
ezr
fds

我制作了一个包含 2 列的 csv 文件

columns = ['first','second']
my_df  = pd.DataFrame(columns = columns)

我不知道如何在列上添加文件 txt

我想要

   first   second
0   abc     pot
1   fdg     ezr
2   erg     fds

我尝试使用 loc 或 append,但我的结果很糟糕。 我不知道如何将文件文本中的项目放在我的 df 上的好位置。 你能帮我吗?

【问题讨论】:

    标签: python-3.x pandas append


    【解决方案1】:

    一个好的可扩展解决方案是从文件路径列表中读取文件,然后将它们沿轴 1 连接在一起。 然后就可以使用.to_csv方法输出你需要的文件了。

    files = ['file1.txt', 'file2.txt']
    frames = []
    
    for file in files:
        frames.append(pd.read_csv(file))
    
    df = pd.concat(frames, axis=1)
    df.to_csv('output.txt', sep='\t')
    

    【讨论】:

      【解决方案2】:

      使用read_csv和参数names,如果没有csv头,默认分隔符是,,如果需要的话改变它:

      df1 = pd.read_csv('file1.txt', sep=',', names=['first'])
      df2 = pd.read_csv('file2.txt', sep=',', names=['second'])
      

      然后concat他们一起:

      df = pd.concat([df1, df2], axis=1)
      

      【讨论】:

      • @sapiron - 欢迎您!如果我的回答有帮助,请不要忘记 accept 它 - 单击答案旁边的复选标记,将其从灰色切换为已填充。谢谢。
      猜你喜欢
      • 2018-06-11
      • 2014-12-02
      • 2015-05-23
      • 1970-01-01
      • 2013-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多