Python实现Excel和CSV中VLOOKUP功能:从数据清洗到合并的完整指南
本文详解如何利用Python的Pandas库在Excel和CSV文件中实现类似VLOOKUP的数据关联功能。内容涵盖删除指定行、获取最大行数、上下拼接表格以及使用merge函数进行左连接合并。通过具体代码示例,展示如何高效处理三国人物数据,解决大数据量下的性能问题,并提供从数据清洗到最终合并的完整操作流程。
本文将介绍如何使用python语言结合相关库,在Excel和CSV文件中实现类似于Excel内置VLOOKUP函数的数据查找与合并功能。为了掌握这一技能,首先需要了解python是如何操作Excel文件的。
1. python处理excel
1.1 删除excel中指定行
我们在文件夹中创建了一个包含三国人物数据的Excel文件。

观察发现,在【蜀】这一类别中,错误地多出了一条【晋】的数据记录。因此,我们的第一步是实现删除这条特定数据的功能。
import pandas as pd import openpyxl import os shu = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/蜀.xlsx' #删除指定行 df_shu = pd.read_excel(shu) selected_rows = df_shu.loc[df_shu["国家"] == "晋"] print(selected_rows)
通过筛选条件,我们已经成功定位到了需要删除的那条数据。

接下来,我们可以利用数据框提供的drop()方法,根据索引删除选定的行。
df_shu = df_shu.drop(selected_rows.index) print(df_shu)

最后一步是将处理后的结果重新保存回Excel文件,即可完成整个删除需求。
#保存至excel df_shu.to_excel(shu, index=False)
此时再打开文件夹内的Excel文件,可以看到【晋】的数据已经被成功删除。

1.2 获取excel的最大行数
无需打开Excel文件,我们可以通过openpyxl库直接获取该文件的最大行数,从而对文件大小有一个初步的认识。
import pandas as pd import openpyxl import os shu = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/蜀.xlsx' wei = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/魏.xlsx' wu = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/吴.xlsx' #删除指定行 df_shu = pd.read_excel(shu) df_wei = pd.read_excel(wei) df_wu = pd.read_excel(wu) #查看最大行数 workbook = openpyxl.load_workbook(wei) worksheet = workbook['Sheet1'] max_row = worksheet.max_row print(max_row)
执行上述代码后,即可直接获取到最大行数为4。

1.3 将excel表进行上下拼接
在当前示例中,魏、蜀、吴三个势力的数据是分开存放的。若要汇总整个三国的数据,可以先提取表头,再将剩余内容合并。这一过程可以通过concat函数来实现。
import pandas as pd import openpyxl import os shu = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/蜀.xlsx' wei = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/魏.xlsx' wu = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/吴.xlsx' #删除指定行 df_shu = pd.read_excel(shu) df_wei = pd.read_excel(wei) df_wu = pd.read_excel(wu) #两张表进行上下拼接 df = pd.concat([df_shu, df_wei, df_wu]) # 将合并后的数据写入新的Excel文件 df.to_excel(r"D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/三国.xlsx", index=False)
运行程序后,会在当前文件夹中生成一个新文件。

检查新文件内容,确认其确实是多个源文件内容的拼接结果。

1.4 实现excel中的vlookup函数
在日常工作中,经常需要将两份Excel数据进行VLOOKUP操作。如果数据量较大,传统方法运行速度较慢,此时可以使用merge函数来高效实现。
import pandas as pd import openpyxl import os #两张表进行vlookup sanguo = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/三国.xlsx' wuqi = r'D:/Python_Project/data_analysis/csdn/pandas/pandas合并excel/源文件/武器.xlsx' df_sanguo = pd.read_excel(sanguo) df_wuqi = pd.read_excel(wuqi) df=pd.merge(df_sanguo, df_wuqi, how= 'left',left_on = '人物', right_on = '名称') print(df)
其中,how参数用于指定连接方式,本例采用左连接(left join)。left_on 和right_on 参数分别指定了两张表进行关联时所使用的字段名称。运行程序后,即可直接查看到关联后的结果。

2. python处理csv
经过实测,对CSV文件进行VLOOKOP操作与处理Excel文件的方法一致,同样可以直接使用merge函数。
至此,关于在Python中实现Excel和CSV文件VLOOKUP函数的介绍已完成。如需了解更多相关Python VLOOKUP函数内容,请搜索本站历史文章或继续浏览后续相关文章。感谢大家的支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









