use*_*919 0 python excel performance module
我正在从excel加载数据以填充对象,即教师(lastName,firstName,user_ID).然后将这些教师对象放入列表中,进行进一步的操作和分析(即查找匹配和其他模式).我这样做的方法是使用xlrd模块从excel加载数据.
for row in range(11) :
lastName = sheet1.cell_value(row,3)
firstName = sheet1.cell_value(row,1)
userID = sheet1.cell_value(row,0)
profList.append(tempProf)
Run Code Online (Sandbox Code Playgroud)
因此,这种方法让我的计算机只用了20秒即可完成12行,我需要这样做10,000次.我的问题是,是否有另一种方式以更有效的方式加载这样的数据?我愿意接受范围界定,所以如果这个问题听起来很愚蠢,我很乐意听到替代方案,谢谢
另一种方法是将Excel电子表格转换为CSV.
然后使用标准库中的Python csv模块.
from csv import reader as csv_reader
with open("data.csv", "r") as fd:
for row in csv_reader(fd):
userid, firstname, lastname = row
Run Code Online (Sandbox Code Playgroud)
说明:
csv.reader对象导入为csv_reader(我的个人约定).data.csv以便"r"将生成的文件对象放入其中fd.csv_reader(file_object)我们提供的CSV库处理提供的数据行.userid, firstname, lastname,因此我们可以将列表解压缩row到参考/变量中.请参阅:元组和序列另请注意:如果您的数据包含Unicode字符,您将需要安装并使用Python Package Index(PyPi)中的unicodecsv第三方库.