这些数据合并的神操作,你掌握几个?

article/2025/10/6 3:34:49

cefcd4d206791dc4d77e007d2ab1904f.gif

6a3aa01cf99494a814ba3ea994ab3cb4.png

导读:在数据分析过程中,有时候需要将不同的数据文件进行合并处理。本文主要介绍三种数据合并方法。

cdb7e95ff69c3dc8cba8cad5bd44dff6.png

Pandas提供了多功能、高性能的内存连接操作,本质上类似于SQL等关系数据库,比如,merge、join、concat等方法可以方便地将具有多种集合逻辑的Series或DataFrame数据合并、拼接在一起,用于实现索引和关系代数功能。

  • merge方法主要基于数据表共同的列标签进行合并,

  • join方法主要基于数据表的index标签进行合并,

  • concat方法是对数据表进行行拼接或列拼接。

9e981f537ebc2409c15f2d0d1363b468.png

01

merge方法

merge方法的主要应用场景是针对存在同一个或多个相同列标签(主键)的包含不同特征的两个数据表,通过主键的连接将这两个数据表进行合并。其语法格式如下:

result=pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, 
left_index=False, right_index=False,…)

常用的参数含义说明如下。

  • left/right:参与合并的左/右侧的Series或DataFrame对象(数据表)。

  • how:数据合并的方式。默认为'inner',表示内连接(交集),'outer'表示外连接(并集),'left'表示基于左侧数据列的左连接,'right'表示基于右侧数据列的右连接。

  • on:指定用于连接的列标签,可以是一个列标签,也可以是一个包含多个列标签的列表。默认为leftright中相同的列标签。

  • left_on/right_on:当leftright中合并的列标签名称不同时,用来分别指定左/右两表合并的列标签。

  • left_index/right_index:布尔类型,默认为False。当设置为True时,则以左/右侧的行标签作为连接键。

下面通过代码清单1演示merge方法的用法。

代码清单1 merge方法的用法示例1 import pandas as pd2 left = pd.DataFrame({'key1': ['K0', 'K1', 'K2'],'key2': ['K0', 'K1', 'K0'],'A': ['A0', 'A1', 'A2'],'B': ['B0', 'B1', 'B2']})3 right = pd.DataFrame({'key1': ['K0', 'K1', 'K2'],'key2': ['K0', 'K0','K0'],'C': ['C0', 'C1', 'C2',], 'D': ['D0', 'D1', 'D2']})4 print('left:\n',left)5 print('right:\n',right)6 result1 = pd.merge(left, right, on='key1') # 内连接7 print('根据key1列将left和right内连接:\n',result1)8 result2 = pd.merge(left, right, on=['key1', 'key2'])9 print('根据key1和key2列将left和right内连接:\n',result2)10 result3 = pd.merge(left, right, how='outer', on=['key1', 'key2'])11 print('根据key1和key2列将left和right外连接:\n',result3)12 result4 = pd.merge(left, right, how='left', on=['key1', 'key2'])13 print('根据key1和key2列将left和right左连接:\n',result4)14 result5 = pd.merge(left, right, how='right', on=['key1', 'key2'])15 print('根据key1和key2列将left和right右连接:\n',result5)

程序执行结束后,输出结果如下:

left:key1  key2   A    B0   K0    K0    A0   B01   K1    K1    A1   B12   K2    K0    A2   B2right:key1  key2   C    D0   K0    K0    C0   D01   K1    K0    C1   D12   K2    K0    C2   D2根据key1列将left和right内连接:key1   key2_x   A    B    key2_y   C    D0   K0    K0       A0   B0   K0       C0   D01   K1    K1       A1   B1   K0       C1   D12   K2    K0       A2   B2   K0       C2   D2根据key1和key2列将left和right内连接:key1  key2      A    B    C    D0   K0    K0       A0   B0   C0   D01   K2    K0       A2   B2   C2   D2根据key1和key2列将left和right外连接:key1  key2      A    B    C    D0   K0    K0       A0   B0   C0   D01   K1    K1       A1   B1   NaN  NaN2   K2    K0       A2   B2   C2   D23   K1    K0       NaN  NaN  C1   D1根据key1和key2列将left和right左连接:key1  key2      A    B    C    D0   K0    K0       A0   B0   C0   D01   K1    K1       A1   B1   NaN  NaN2   K2    K0       A2   B2   C2   D2根据key1和key2列将left和right右连接:key1  key2      A    B    C    D0   K0    K0       A0   B0   C0   D01   K2    K0       A2   B2   C2   D22   K1    K0       NaN  NaN  C1   D1

下面对代码清单1中的代码做简要说明。

  • 第2行代码通过字典创建了一个3行4列的DataFrame对象left,如第4行print函数的输出结果所示。

  • 第3行代码通过字典创建了一个3行4列的DataFrame对象right,如第5行print函数的输出结果所示。

  • 第6行代码通过merge方法将leftright合并,on='key1'指定根据列标签key1进行合并,合并方式默认为内连接,合并后的结果为一个3行7列的DataFrame对象,如第7行print函数的输出结果所示。

    内连接是取leftright的交集,由于leftrightkey1列的数据完全相同,因此保留了两个数据表中的所有行。除key1之外,leftright中还存在另一个相同的列标签key2,为了在合并后的对象中加以区分,Pandas自动将left中的key2重命名为key2_xright中的key2重命名为key2_y

  • 第8行代码通过merge方法将leftright合并,on=['key1', 'key2']指定根据列标签key1key2进行合并,合并方式默认为内连接,合并后的结果为一个2行6列的DataFrame对象,如第9行print函数的输出结果所示。

    由于leftrightkey2列数据不完全相同,因此要取leftright的交集,只将['key1', 'key2']两列组合数据完全相同的行进行合并,即将第1行和第3行合并,并自动调整合并后DataFrame对象的index

  • 第10行代码通过merge方法将leftright合并,on=['key1', 'key2']指定根据列标签key1key2进行合并,how='outer'指定合并方式为外连接,合并后的结果为一个4行6列的DataFrame对象,如第11行print函数的输出结果所示。

    外连接是取leftright的并集,['key1', 'key2']两列组合数据对应的行都会进行合并。对于leftright中没有的列标签,要在对应位置设置NA,并自动调整合并后DataFrame对象的index

  • 第12行代码通过merge方法将leftright合并,on=['key1', 'key2']指定根据列标签key1key2进行合并,how='left'指定合并方式为左连接,合并后的结果为一个3行6列的DataFrame对象,如第13行print函数的输出结果所示。

    左连接是保留left的所有数据,只取right中与left['key1', 'key2']组合数据相同的行进行合并。对于left中没有的列标签,要在对应位置设置NA,并自动调整合并后DataFrame对象的index

  • 第14行代码通过merge方法将leftright合并,on=['key1', 'key2']指定根据列标签key1key2进行合并,how='right'指定合并方式为右连接,合并后的结果为一个3行6列的DataFrame对象,如第15行print函数输出结果所示。

    右连接是保留right的所有数据,只取left中与right的['key1', 'key2']组合数据相同的行进行合并。对于right中没有的列标签,要在对应位置设置NA,并自动调整合并后DataFrame对象的index

Tips

1)使用merge合并两个数据表,如果左侧或右侧的数据表中没有某个列标签,则连接表中对应的值将设置为NA。

2)merge方法不会修改原始数据表,而是生成一个合并后的副本。

02

join方法

Pandas还提供了一种基于index标签的快速合并方法——join方法。join连接数据的方法与merge一样,包括内连接、外连接、左连接和右连接。其语法格式如下:

result = data.join(other, on=None, how='left',…)
  • data是一个Series或DataFrame对象(数据表)。

  • other:要合并的Series或DataFrame对象(数据表)。

  • on:可以是一个data中的列标签,也可以是一个包含多个data列标签的列表,表示other要在data的特定列上对齐。在实际应用中,如果otherindex的值与data某一列的值相等,可以通过将otherindexdata中的特定列对齐进行合并,这类似于Excel中的VLOOKUP操作。

  • how:数据合并的方式。默认为'left',表示左连接,基于dataindex标签进行连接;'right'表示右连接,基于otherindex标签进行连接;'inner'表示内连接(交集);'outer'表示外连接(并集)。

下面通过代码清单2演示join方法的用法。

代码清单2 join方法的用法示例1 import pandas as pd2 left = pd.DataFrame({'A': ['A0', 'A1', 'A2'],'B': ['B0', 'B1', 'B2']}, index=['K0', 'K1', 'K2'])3 right = pd.DataFrame({'C': ['C0', 'C2', 'C3'], 'D': ['D0', 'D2', 'D3']}, index=['K0', 'K2', 'K3'])4 print('left:\n',left)5 print('right:\n',right)6 result1 = left.join(right)7 print('left和right左连接(join方法):\n',result1)8 result2 = pd.merge(left, right, left_index=True, right_index=True, how='left')9 print('left和right左连接(merge方法):\n',result2)10 result3 = left.join(right, how='inner')11 print('left和right内连接(join方法):\n',result3)12 result4 = pd.merge(left, right, left_index=True, right_index=True, how='inner')13 print('left和right内连接(merge方法):\n',result4)14 left2 = pd.DataFrame({'key': ['K0', 'K1', 'K0'],'A': ['A0', 'A1', 'A2'],'B': ['B0', 'B1', 'B2']})15 print('left2:\n',left2)16 result5 = left2.join(right,on='key')17 print('left2和right左连接(join方法):\n',result5)18 result6= pd.merge(left2, right, left_on='key', right_index=True, how='left');19 print('left2和right左连接(merge方法):\n',result6)

程序执行结束后,输出结果如下:

left:A    BK0   A0   B0K1   A1   B1K2   A2   B2right:C    DK0   C0   D0K2   C2   D2K3   C3   D3left和right左连接(join方法):A    B    C     DK0   A0   B0   C0    D0K1   A1   B1   NaN   NaNK2   A2   B2   C2    D2left和right左连接(merge方法):A    B    C     DK0   A0   B0   C0    D0K1   A1   B1   NaN   NaNK2   A2   B2   C2    D2left和right内连接(join方法):A    B    C     DK0   A0   B0   C0    D0K2   A2   B2   C2    D2left和right内连接(merge方法):A    B    C     DK0   A0   B0   C0    D0K2   A2   B2   C2    D2left2:key   A   B0    K0    A0  B01    K1    A1  B12    K0    A2  B2left2和right左连接(join方法):key   A    B    C     D0    K0    A0   B0   C0    D01    K1    A1   B1   NaN   NaN2    K0    A2   B2   C0    D0left2和right左连接(merge方法):key   A    B    C     D0    K0    A0   B0   C0    D01    K1    A1   B1   NaN   NaN2    K0    A2   B2   C0    D0

下面对代码清单2中的代码做简要说明。

  • 第2行代码通过字典创建了一个3行2列的DataFrame对象leftindex被设置为['K0', 'K1', 'K2'],如第4行print函数的输出结果所示。

  • 第3行代码通过字典创建了一个3行2列的DataFrame对象rightindex被设置为['K0', 'K2', 'K3'],如第5行print函数的输出结果所示。

  • 第6行代码通过join方法将leftright合并,合并方式默认为基于left的左连接,合并后的结果为一个3行4列的DataFrame对象,如第7行print函数的输出结果所示。

  • 第8行代码通过merge方法将leftright合并,合并方式和结果与第6行代码相同,left_index和right_index参数被设置为True,表示以leftrightindex行标签作为连接键,如第9行print函数的输出结果所示。

  • 第10行代码通过join方法将leftright合并,how='inner'指定合并方式为内连接,合并后的结果为一个2行4列的DataFrame对象,如第11行print函数的输出结果所示。

  • 第12行代码通过merge方法将leftright合并,合并方式和结果与第10行代码相同,left_indexright_index参数被设置为True,表示以leftrightindex行标签作为连接键,如第13行print函数的输出结果所示。

  • 第14行代码通过字典创建了一个3行3列的DataFrame对象left2,没有设置index参数,如第15行print函数的输出结果所示。

  • 第16行代码通过join方法将left2right合并,由于left2right不具有相同的行标签,但是rightindexleft2key列有相同的数值,因此通过on='key'指定将left2中的keyright中的index对齐,合并方式默认为左连接,合并后的结果为一个3行5列的DataFrame对象,如第17行print函数的输出结果所示。

  • 第18行代码通过merge方法将left2right合并,合并方式和结果与第16行代码相同,left_on='key'表示表leftkey列为连接键,right_index=True表示表rightindex行标签为连接键,how='left'表示连接方式为左连接,如第19行print函数的输出结果所示。

Tips

1)join方法实现的数据表合并也可以用merge方法实现,但join方法更简单、更快速。

2)join方法不会修改原始数据表,而是生成一个合并后的副本。

03

concat方法

concat方法的功能为沿着一个特定轴,对一组相同类型的Pandas对象执行连接操作。如果操作对象是DataFrame,还可以同时在其他轴上执行索引的可选集合逻辑操作(并集或交集)。concat方法接受一列或一组相同类型的对象,并通过一些可配置的处理将它们连接起来,这些处理可用于其他轴。其语法格式如下:

result=pd.concat(objs, axis=0, join='outer', ignore_index=False, keys=None,…)

常用的参数含义说明如下。

  • objs是需要拼接的对象集合,一般为Series或DataFrame对象的列表或者字典。

  • axis表示连接的轴向,默认为0,表示纵向拼接,即基于列标签的拼接,拼接之后行数增加。axis=1时表示横向拼接,即基于行标签的拼接,拼接之后列数增加。

  • join表示连接方式,默认为'outer',拼接方法为外连接(并集)。join='inner'时,拼接方法为内连接(交集)。

  • ignore_index是布尔类型,默认为False,表示保留连接轴上的标签。如果将其设置为True,则不保留连接轴上的标签,而是产生一组新的标签。

  • keys是列表类型。如果连接轴上有相同的标签,为了区分,可以用keys在最外层定义标签的分组情况,形成连接轴上的层次化索引。

下面通过代码清单3演示concat方法的用法。

代码清单3 concat方法的用法示例1 import pandas as pd2 df1 = pd.DataFrame({'A':['A0','A1','A2'], 'B':['B0','B1','B2'],   'C':['C0','C1','C2'], 'D':['D0','D1','D2']}, index=[0,1,2])3 df2 = pd.DataFrame({'A':['A3','A4', 'A5'], 'B':['B3','B4', 'B5'],'C': ['C3','C4', 'C5'], 'D':['D3','D4', 'D5']}, index=[3,4,5])4 df3 = pd.DataFrame({'A':['A6','A7','A8'], 'B':['B6','B7','B8'], 'C':['C6','C7','C8'], 'D':['D6','D7','D8']}, index=[6,7,8])5 df4 = pd.DataFrame({'B':['B2','B3','B6'], 'D':['D2','D3','D6'], 'F':['F2','F3','F6']}, index=[2,3,6])6 result1 = pd.concat([df1,df2,df3])7 print('df1、df2和df3纵向外拼接:\n',result1)8 result2=pd.concat([df1,df2],axis=1,keys=['df1','df2'])9 print('df1和df2横向外拼接(concat方法):\n',result2)10 result3=df1.join(df2, how='outer',lsuffix='_df1',rsuffix='_df2')11 print('df1和df2横向外拼接(join方法):\n',result3)12 result4=pd.concat([df1,df3])13 print('df1和df3纵向外拼接:\n',result4)14 result5=pd.concat([df1,df3],ignore_index=True)15 print('df1和df3纵向外拼接并生成新的行标签:\n',result5)16 result6=pd.concat([result1,df4], axis=1, join='inner', keys = ['result1','df2'])17 print('result1和df4横向内拼接:\n',result6)

程序执行结束后,输出结果如下:

df1、df2和df3纵向外拼接:A   B   C   D0  A0  B0  C0  D01  A1  B1  C1  D12  A2  B2  C2  D23  A3  B3  C3  D34  A4  B4  C4  D45  A5  B5  C5  D56  A6  B6  C6  D67  A7  B7  C7  D78  A8  B8  C8  D8df1和df2横向外拼接(concat方法):df1                   df2A    B    C    D    A    B    C    D0   A0   B0   C0   D0  NaN  NaN  NaN  NaN1   A1   B1   C1   D1  NaN  NaN  NaN  NaN2   A2   B2   C2   D2  NaN  NaN  NaN  NaN3  NaN  NaN  NaN  NaN   A3   B3   C3   D34  NaN  NaN  NaN  NaN   A4   B4   C4   D45  NaN  NaN  NaN  NaN   A5   B5   C5   D5df1和df2横向外拼接(join方法):A_df1  B_df1  C_df1 D_df1  A_df2  B_df2  C_df2 D_df20    A0    B0    C0    D0    NaN   NaN   NaN   NaN1    A1    B1    C1    D1    NaN   NaN   NaN   NaN2    A2    B2    C2    D2    NaN   NaN   NaN   NaN3   NaN   NaN   NaN   NaN    A3    B3    C3    D34   NaN   NaN   NaN   NaN    A4    B4    C4    D45   NaN   NaN   NaN   NaN    A5    B5    C5    D5df1和df3纵向外拼接:A   B   C   D0  A0  B0  C0  D01  A1  B1  C1  D12  A2  B2  C2  D26  A6  B6  C6  D67  A7  B7  C7  D78  A8  B8  C8  D8df1和df3纵向外拼接并生成新的行标签:A   B   C   D0  A0  B0  C0  D01  A1  B1  C1  D12  A2  B2  C2  D23  A6  B6  C6  D64  A7  B7  C7  D75  A8  B8  C8  D8result1和df4横向内拼接:A   B   C   D   B   D   F2  A2  B2  C2  D2  B2  D2  F23  A3  B3  C3  D3  B3  D3  F36  A6  B6  C6  D6  B6  D6  F6

下面对代码清单3中的代码做简要说明。

  • 第2~5行代码分别通过字典创建了4个3行4列的DataFrame对象df1df2df3df4index分别被设置为[0,1,2][3,4,5][6,7,8][2,3,6]

  • 第6行代码通过concat方法将df1df2df3拼接,采用默认的参数设置,即纵向外拼接。由于df1、df2和df3的列标签完全相等,但行标签没有重叠的部分,拼接后的结果为一个9行4列的DataFrame对象,如第7行print函数的输出结果所示。

  • 第8行代码通过concat方法将df1df2拼接,axis=1表示横向拼接,拼接方式默认为外拼接。由于df1df2的列标签完全相等,拼接后的列会有重复的列标签。为了便于区分,设置参数keys=['df1','df2']在最外层定义标签的分组情况,df1的列标签的外层索引为'df1'df2的列标签的外层索引为'df2'。拼接后的结果为一个6行8列的DataFrame对象,如第9行print函数的输出结果所示。

  • 第10行代码通过join方法将df1df2拼接,拼接方式与第8行代码相同。how='outer'设置为外拼接,为了区分拼接后的对象中重复的列标签,设置lsuffix='_df1',指定df1的列名加上后缀'_df1';设置rsuffix='_df2',指定df2的列名加上后缀'_df2',如第11行print函数的输出结果所示。可以看到,result3中的元素数据与result2相同,不同之处在于result2采用外层索引的方式区分重复列,而result3采用列名加后缀的方法。

  • 第12行代码通过concat方法将df1df3拼接,采用默认的参数设置,即纵向外拼接。拼接后的结果为一个6行4列的DataFrame对象,如第13行print函数的输出结果所示,可以看到result3的行标签完全保留了df1df3的行标签。

  • 第14行代码在第12行代码的基础上,增加了参数设置ignore_index=True,表示会重新生成新的整数序列作为拼接后的DataFrame对象的行标签,如第15行print函数的输出结果所示。

  • 第16行代码通过concat方法将第6行代码的result1df4拼接,axis=1表示横向拼接,join='inner'指定内拼接。拼接后的结果为一个3行7列的DataFrame对象,如第17行print函数的输出结果所示,保留了result1df4中相同的行标签。

Tips

1)在实际应用中,join方法常用于基于行标签对数据表的列进行拼接,concat方法则常用于基于列标签对数据表的行进行拼接。

2)concat方法不会修改原始数据表,而是生成一个合并后的副本。

本文摘编于《Python数据分析与应用》fe9ae71f4e9131babd08925913ca37fe.png

本书基于作者多年来的课程教学经验和利用Python进行数据分析的工程经验编写而成,面向数据分析的初学者,使其具备利用Python开展数据分析工作、解决各专业问题的思维和能力。高校计算机、大数据、人工智能及其他相关专业均可使用本书作为数据分析课程教材。

a13f2061cd24758d82a8f146caf54c55.gif

4d7800698c5adcf2ffca430988546302.png

扫码关注【华章计算机】视频号

每天来听华章哥讲书

1f28e1767f49669c05945659b925f7b4.gif

更多精彩回顾

书讯 | 9月书讯 | 秋天的第一本书,来了

资讯 | DB-Engines 9月数据库排名:SnowFlake坐上了火箭

书单 | 你们要的Java学习路线图来了

干货 | 火山引擎 A/B 测试的思考与实践

收藏 | 两本书助你构建智能计算系统知识树

上新 | 【新书速递】Julia设计模式

赠书 | 【第74期】安全工程师最详细学习和职业规划路线(书籍推荐和导图下载)

37ee75579352e10a168e6f34ce10aa76.gif

6d326c9039ef0f7718396e211af6d2c0.gif

点击阅读全文购买


http://chatgpt.dhexx.cn/article/19kIJ4KB.shtml

相关文章

6、数据的合并

目录 一、添加变量即横向合并。 二、添加个案即纵向合并 在实际工作中,为了提高效率,经常需要将一份数据分成几部分分别录入,或为了便于分析,又将几个数据文件合并成一个总的数据文件。为此,SPSS提供了两种合并数据文…

【数据科学】05 数据合并(merge、concat、combine)与数据清洗(缺失值、重复值、内容和格式)

文章目录 1. 数据合并1.1 merge()合并1.2 concat()合并1.3 combine()合并 2. 数据清洗2.1 缺失值2.2 重复值2.3 内容与格式清洗 1. 数据合并 实际应用中,需要分析的数据可能来自不同的数据集,因此在开始数据分析之前,需要先将不同的数据集合…

Gradle 入门

1、Gradle 入门 1.1 Gradle 简介 Gradle 是一款 Google 推出的基于JVM、通用灵活的项目构建工具,支持 Maven,JCenter 多种第三方仓库;支持传递性 依赖管理、废弃了繁杂的 xml 文件,转而使用简洁的、支持多种语言(例如:java、gro…

Gradle【扫盲】之简易使用教程

官网地址 https://gradle.org/版本选择 如果使用的是idea,可以在idea的plug目录下查看支持的gradle的版本: 进入目录: 那我们到官网下载对应版本的gradle即可 Gradle下载及配置 进入官网,查看发行版本 选择对应的安装包 b…

Linux 安装gradle完整教程

Linux 安装gradle 1.下载gradle https://gradle.org/install/ 选择版本下载 点击下载 也可以在这里下载历史版本 https://services.gradle.org/distributions/ 2.将包上传到服务器,我这里下载的包是6.7的你们可以下载各自需要的版本 zip包解压 unzip gradle-8.…

gradle快速入门

1.Gradle 入门 1.1 Gradle 简介 Gradle 是一款Google 推出的基于JVM、通用灵活的项目构建工具,支持Maven,JCenter 多种第三方仓库;支持传递性依赖管理、废弃了繁杂的xml 文件,转而使用简洁的、支持多种语言(例如:java、groovy 等…

Gradle下载安装教程

前言 1.gradle和maven一样都是用来构建java程序的,maven2004年开始兴起,gradle2012年开始诞生,既然已经有了maven这么成熟的构建工具为什么还有gradle的诞生呢,因为gradle有很多地方比maven做的更好,例如gradle采用gro…

Gradle 15分钟入门教程

1-Gradle入门介绍 在阅读或实践本文中的实例前,必须首先确保已将Gradle插件安装到Eclipse中。如果没有,可以点击下面的链接查看Gradle安装说明: - http://www.yiibai.com/gradle/how-install-gradle-windows.html 本教程的目标: …

gradle安装与入门

1. Gradle安装(本地也可不安装,不安装gradle配置选择gradle wrapper) 下载地址:http://services.gradle.org/distributions/ 下载你所需要对应的版本,gradle-4.6.1-bin.zip 下载后解压到你想要的目录 设置环境变量 新建系统变量&…

Android—Gradle教程(一)

前言 在前几篇中,讲解了Groovy的基础语法,学习新语法过程总是枯燥的,但为了更好的掌握Gradle,那就必须经过该过程。当然从这一篇将会从零基础开始,开展对Gradle的讲解。 1. 掌握Gradle基础 1.1 环境配置 去官网下载…

Gradle使用教程

前言 相信使用Java的同学都用过Maven,这是一个非常经典好用的项目构建工具。但是如果你经常使用Maven,可能会发现Maven有一些地方用的让人不太舒服: Maven的配置文件是XML格式的,假如你的项目依赖的包比较多,那么XML文…

gradle入门简介以及安装

一、简介 java作为一门世界级主流编程语言,有一款高效易用的项目自动化构建工具是java开发者共同追求的心愿和目标。先是2000年Ant,后有2004年Maven两个工具的诞生,都在java市场上取得了巨大的成功。但是二者都有一定的不足和局限性。 2012年…

【构建工具】Gradle中文教程

文章目录 Gradle 简介Gradle 概述基于声明的构建和基于约定的构建为以依赖为基础的编程方式提供语言支持构建结构化深度 APIGradle 的扩展多项目构建多种方式管理依赖Gradle 是第一个构建集成工具易于移植GroovyThe Gradle wrapper自由和开源 为什么使用 Groovy? Gradle 安装先…

Gradle 入门教程(一):Gradle是什么

这是一篇Gradle的入门教程 一、 Gradle是什么 1.1 构建工具 要解释Gradle是什么,首先要搞清楚一个名词——构建工具(Build Tool)。 构建工具,顾名思义就是用于构建(Build)的工具,构建包括编…

Gradle 的下载安装教程

Gradle 8.0.1 下载安装教程 笔者的环境: Java 17.0.1 Gradle 8.0.1 Windows 10 教育版 64位 在继续阅读本教程之前,需要先完成 JDK 的安装。JDK 需要选择 8 及以上的版本。关于 JDK 的安装,可见笔者的另一篇博客: Java 的下载…

Gradle初级使用教程

一.Gradle简介 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。 二.为什么使用Gradle Gra…

Gradle 简易入门教程

作者: Yann 来源:原力注入 Gradle 是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于 Groovy(现在也支持 Kotlin)的内部领域特定语言。 Gradle特点 Gradle是很成熟的技术,可…

Gradle的详细安装配置及使用教程

Gradle的详细安装配置及使用教程 Gradle的安装 到Gradle官网,官网地址:https://gradle.org/releases/。下载对应的版本,本文安装的是 4.3.1 版本。 下载完成后解压 环境配置 配置环境变量,新建名为 GRADLE_HOME 值为你的 Gr…

Gradle的使用教程

一、相关介绍 Gradle是一个好用的构建工具 ,使用它的原因是: 配置相关依赖代码量少,不会像maven一样xml过多 打包编译测试发布都有,而且使用起来方便 利用自定义的任务可以完成自己想要的功能 二、安装 下载地址http://services…

Gradle最详细教程,关于Gradle,学习这些就够了.......

目录 Gradle的简介 Groovy语言的学习 Groovy环境变量的配置 第一个Groovy项目 变量的定义 字符串的定义 字符串的常用方法 流程控制 switch for 闭包 基本技能 闭包的使用场景 闭包中的变量 列表 定义方式 添加和删除 排序和查找 映射map map的操作 查找 …