如何使用Python Pandas通过共同的密钥合并许多TSV文件

如何使用Python Pandas通过共同的密钥合并许多TSV文件

对于数据分析来说,最重要的是数据,我们需要在使用它进行分析之前对其进行准备。有时,所需的数据可能分散在多个文件中,我们需要将它们合并。在这篇文章中,我们将用一个共同的键来合并多个TSV(Tab Separated Values)文件。这可以通过使用pandas Python库的合并方法来实现。这个方法允许我们通过使用一个共同的键来合并文件。

步骤:

  • 导入pandas库
  • 然后读取前两个tsv文件,使用pd.merge()函数合并它们,将’on’参数设置为两个文件中的共同列。然后将结果存储在一个名为 “Output_df “的新数据框架中。
  • 将剩余的文件存储在一个列表中。
  • 运行一个循环,对这些文件名进行迭代。逐一读取这些文件,并将其与 “Output_df “数据框合并。
  • 在tsv文件中保存’Output_df’。

示例 1:

在这个例子中,我们将通过使用一个内联来合并tsv文件。我们为这个例子取了四个tsv文件,如下所示。

使用的文件: Customer.tsv , Account.tsv , Branch.tsv , Loan.tsv

# Import pandas library
import pandas as pd
 
# Read first two csv files with '\t' separator
tsv1 = pd.read_csv("Documents/Customer.tsv", sep='\t')
tsv2 = pd.read_csv("Documents/Account.tsv", sep='\t')
 
# store the result in Output_df dataframe.
# Here common column is 'ID' column
Output_df = pd.merge(tsv1, tsv2, on='ID',
                     how='inner')
 
# store remaining file names in list
tsv_files = ["Branch.tsv", "Loan.tsv"]
 
# One by one read tsv files and merge with
# 'Output_df' dataframe and again store
# the final result in Output_df
for i in tsv_files:
    path = "Documents/"+i
    tsv = pd.read_csv(path, sep='\t')
    Output_df = pd.merge(Output_df, tsv,
                         on='ID', how='inner')
 
# Now store the 'Output_df'
# in tsv file 'Output.tsv'
Output_df.to_csv("Documents/Output.tsv",
                 sep="\t", header=True,
                 index=False)

输出:

如何使用Python Pandas通过共同的密钥合并许多TSV文件?

输出.tsv

示例 2:

在这个例子中,我们将通过使用外层连接来合并tsv文件。我们为这个例子取了四个tsv文件,如下所示。

使用的文件: Course.tsv , Teacher.tsv , Credits.tsv , Marks.tsv

# Import pandas library
import pandas as pd
 
# Read first two csv files with '\t' separator
tsv3 = pd.read_csv("Documents/Course.tsv", sep='\t')
tsv4 = pd.read_csv("Documents/Teacher.tsv", sep='\t')
 
# store the result in Output_df dataframe.
# Here common column is 'Course_ID' column
Output_df2 = pd.merge(tsv3, tsv4, on='Course_ID', how='outer')
 
# store remaining file names in list
tsv_files = ["Credits.tsv", "Marks.tsv"]
 
# One by one read tsv files and merge with
# 'Output_df2' dataframe and again store
# the final result in 'Output_df2'
for i in tsv_files:
    path = "Documents/"+i
    tsv = pd.read_csv(path, sep='\t')
    Output_df2 = pd.merge(Output_df2, tsv,
                          on='Course_ID', how='outer')
 
 
# Now store the 'Output_df2' in tsv file 'Output_outer.tsv'
# Here we replacing nan values with NA
Output_df2.to_csv("Documents/Output_outer.tsv", sep="\t",
                  header=True, index=False, na_rep="NA")

输出:

如何使用Python Pandas通过共同的密钥合并许多TSV文件?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程