在python中处理大量excel行
我有在python中处理大量excel行,python,excel,pandas,numpy,bigdata,Python,Excel,Pandas,Numpy,Bigdata,我有.xlsx文件,其中只包含一列名为“nomenktura”,包含数千行(从60k到600k)。所有的值都是字符串。我需要检查它们是否符合我的模式。如果没有,我应该更改它们()并将结果导出到另一个.xlxs文件中 我编写了一个基本代码,可以使用pandas完成我需要的所有操作,但随着时间的推移,它的工作速度会变慢(前5k行在3分钟内处理,下5k行在30分钟内处理,依此类推)。 我是Python新手,熊猫完全是初学者。我想到的唯一想法是通过pd.DataFrame中的所有元素进行迭代,使用我的函
.xlsx
文件,其中只包含一列名为“nomenktura”,包含数千行(从60k到600k)。所有的值都是字符串。我需要检查它们是否符合我的模式。如果没有,我应该更改它们()并将结果导出到另一个.xlxs
文件中
我编写了一个基本代码,可以使用pandas完成我需要的所有操作,但随着时间的推移,它的工作速度会变慢(前5k行在3分钟内处理,下5k行在30分钟内处理,依此类推)。
我是Python新手,熊猫完全是初学者。我想到的唯一想法是通过pd.DataFrame
中的所有元素进行迭代,使用我的函数change\u nomen()
处理它们,将它们附加到一个空数组中,并使用此数组创建新的pd.DataFrame
。然后直接导出到excel
下面是一个简短的程序版本,显示我使用的逻辑
import pandas as pd
def change_nomen(nomen):
# code with millions of elif
return new_nomen
def main():
data = pd.read_excel("data\\test\\100k_test.xlsx")
new_nomen_name_list = {"nomenklatura": []}
for nomen in data["nomenklatura"]:
new_nomen_name_list["nomenklatura"].append(change_nomen(nomen))
result = pd.DataFrame(data = new_nomen_name_list)
result.to_excel("data\\test_output\\100 000_added_zeroes.xlsx")
main()
我应该使用什么工具来加速我的程序?我知道pandas.DataFrame.apply()
或numpy.array()
可以帮我解决这个问题。但最有效的解决方案是什么?也许我应该试试别的
谢谢你的回答 你可能想读书