我有以下的任务,我希望能得到一些帮助。 我使用的是Python,无法决定xlrd&xlwt和Pandas哪个更有用。(或者如果最后有人对更好的编程语言有建议,请继续)
我有一大堆Excel工作簿,都放在不同的目录下。我想在这些.xlsx文件中查看所有不同的工作表,找出诸如“name”、“team”和“number of xyz”等特定的标题,并将带有这些标题的整个列复制到一个新的输出.xlsx“工作簿,具有不同的工作表。 (感兴趣的列可能分散在其他无关信息列之间,不同电子表格中的格式可能并不总是统一的)
问题是,相同的名字和球队信息在这些电子表格中一遍又一遍出现,但是我要找的数据(比如比赛中的铲球次数)会随着时间的推移而变化,因为电子表格已经制作好了。在
示例
游戏1_统计.xlsx Player Team Handballs Tackles Marks Kicks
Luke Hodge Hawthorn 20 8 10 5
Andrew Mcleod Crows 10 5 8 18
游戏2_统计.xlsx
^{pr2}$
游戏3_统计.xlsx
Player Team Kicks Goals Behinds Marks Tackles
Andrew Mcleod Crows 16 7 4 8 3
Shane Woewodin Collingwood 0 0 0 0 0
Luke Hodge Hawthorn 25 2 1 9 5
游戏4_统计.xlsx
Player Team Handballs Tackles Marks Kicks
Luke Hodge Hawthorn 20 8 10 5
Andrew Mcleod Crows 10 5 8 18
所以如果这些“游戏”_统计.xlsx“2012年、2013年、2014年、2015年等的文件存储在不同的目录中,我只对攻势和踢数据感兴趣,我希望用Python创建以下内容
整合的历史玩家_统计.xlsx Year 2012 2013 2014 2015
Player Team Tackles Kicks Tackles Kicks Tackles Kicks Tackles Kicks
Luke Hodge Hawthorn 5 20 0 8 10 30 3 15
Andrew Mcleod Crows .........................(same as above)..........
我不确定熊猫和xlrd是否更适合这样做。我不需要运行任何真正的数学公式,也不需要对这些数据进行分析,只需要复制一个变化数据字段的一整串列(比如铲球和踢),它们对应于一个特定的球员。(对多个玩家这样做-显然不止2个)
我有下面的代码,它查看文件路径“Player Statistics”中的所有.xlsx文件夹,对于找到的单个spreasheet的每次迭代,它都会打印出带有“name”头的播放器列表。在
但我想做的是寻找多个列标题,而不是打印出来,我想写一个新的电子表格。在
import xlrd
import xlwt
path_with_multiple_directories_and_documents = "C:/Software"
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('Consolidated player statistics')
for root, dirs, files in os.walk(path_with_multiple_directories_and_documents):
xlsfiles = [ _ for _ in files if _.endswith('xlsx')]
for xlsfile in xlsfiles:
workbook = xlrd.open_workbook(os.path.join(root,xlsfile))
for worksheet in workbook.sheets():
for row in range(worksheet.nrows):
if worksheet.row_values(row)[0] == 'name':
print("This should be a printed list of the Player Names found in this document \n")
cv = worksheet.col_values(row)
print(cv,"\n")
我希望这不是太通用,但我觉得这将是一个非常方便的代码块,可以自动复制和粘贴来自各地不同列的堆的过程 谢谢!!!在
目前没有回答
相关问题 更多 >
编程相关推荐