在超过 1 百万行的 Excel 电子表格中查找值并返回行

数据挖掘 擅长
2022-02-23 17:21:28

我有一个超过 100 万行和大约 120 列的 Excel 电子表格。我经常需要找到一个值或一个值的一部分(值是名称或数字)并返回找到该值的行。我只需要大约 20 列中的值,因此我可以删除额外的列,但这并不能解决 excel 查找值非常慢并且很难读取行中的信息的问题。

你会推荐使用什么来完成这项任务?理想情况下,我想输入值并在某种报告中获取该行,但只要它可读性强就没有必要。

我正在考虑使用 Power BI,但有点卡住了,最后觉得它不是完成任务的正确工具。

我愿意接受所有建议!

2个回答

excel找值速度很慢的问题,很难读取行中的信息

对您来说什么是“慢”(以秒为单位),您希望搜索速度有多快?

在很多情况下,通过使用INDEXMATCH在 Excel 中搜索值,而不是使用VLOOKUP(已知相比而言要慢得多),可以显着提高性能。

或者,您可以在您的机器上安装 SQL Server Express,将 Excel 文件导入表中,然后使用一些 SQL 语句来查找您想要的值。

Power BI 是一种可视化工具,似乎不适合您所描述的正在准备数据的内容。当然,您可以在绘制最终结果之后使用 Power BI。

您还可以在 python 中使用 pandas Dataframe(它具有 excel 读取功能)。

import pandas as pd
df = pd.read_excel(excel_name)
df = df[ df.column_name_you_search_in.str.contains(pattern)]
# print the output
print(df)
# save the output as csv
df.to_csv("temp_file.csv")

作为更一般的评论,我认为 excel 文件是不可持续的,因为您已经几乎达到了最大值(https://en.wikipedia.org/wiki/65536_(number)