我下面的代码可以工作,但是我是python的新手,感觉应该有更好的方法...
公司在Excel模板中填写了有关其劳动力的一些统计信息,因此每次文件的格式都完全相同。
大约有150个单独的文件,它们都是Excel(.xls格式,我不确定为什么,但是我没有参与发送这些文件!)。所需的数据存储在单个单元格中:
单元格C6 =公司名称,单元格C13 =职位数量等
我要为每个文件创建一行,因此我的标题是
文件名|名称|工作|等|等等
我创建了一个空列表,并将每个新文件值附加到列表中,然后创建了字典并转换为数据框
all_files = []
all_name = []
all_jobs_current = []
#etc (approx 10 more)
for f in glob.glob('**/*.xls'):
CF = xlrd.open_workbook(f)
sheet = CF.sheet_by_name('Confirmation form')
name = sheet.cell(5,2).value #cell C6
jobs_current = sheet.cell(12,2).value #cell C13
#etc
all_files.append(f)
all_name.append(name)
all_jobs_current.append(jobs_current)
#etc
d = {'Filename': all_files,
'Name': all_name,
'Jobs': all_jobs_current}
#etc
df = pd.DataFrame(d)
编辑1:我尝试更新以下反馈(我接受我可能写错了),但出现以下错误:不可哈希类型:列表
dcell = {'Name': (5,2),
'Jobs': (12,2)}
dlist = {k: [] for k in list(dcell.keys())}
for f in glob.glob('**/*.xls'):
for k, v in dlist.items():
CF = xlrd.open_workbook(f)
sheet = CF.sheet_by_name('Confirmation form')
dlist[v].append(sheet.cell(*dcell[k]).value)
参考方案
看起来像是一部字典的工作:
dcell = {'name': (5,2), 'jobs_current': (12,2) ... }
dlist = {k: [] for k in list(dcell.keys())}
for k, v in dlist.items():
dlist[k].append(sheet.cell(*dcell[k]).value)
您仍然需要遍历文件并自行创建该文件列表,但是您可以将该列表合并到dlist
中。
我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…
Python exchangelib在子文件夹中读取邮件 - python我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…
Python GPU资源利用 - python我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…
R'relaimpo'软件包的Python端口 - python我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。
Python ThreadPoolExecutor抑制异常 - pythonfrom concurrent.futures import ThreadPoolExecutor, wait, ALL_COMPLETED def div_zero(x): print('In div_zero') return x / 0 with ThreadPoolExecutor(max_workers=4) as execut…