python - 遍历 excel-sheets 名称从“Line”开始
问题描述
xls = pd.ExcelFile('xyz.xlsx')
我有 excel 文件,并且有很多工作表(或选项卡),例如:- 第 7 行、第 9 行、简介、数据、包、外包、第 11 行等。
所以我的问题是我只想遍历这些工作表 - 名称从“Line”开始。并执行
df2 = df1['Unnamed: 1']
df3 = df2[51:59] #72:
df3 = df3.dropna(axis = 0, how ='any')
df4 = df2[72:] #72:
df4 = df4.dropna(axis = 0, how ='any')
df5 = df4.drop(83)
df6 = pd.concat([df3,df5])
每个工作表的上述任务并将其存储在数据框中,直到所有工作表都被附加。
解决方案
您可以过滤工作表名称,如下所示
xls = pd.ExcelFile('xyz.xlsx')
buf = [] # buffer to store results in each loop iteration
#xls.sheet_names
#['Sheet1', 'Sheet2', 'Sheet3']
sheets_needed = [i for i in xls.sheet_names if i.startswith("Line")]
for sheet in sheets_needed:
df1 = xls.parse(sheet_name=sheet)
# your operations here
buf.append(df6)
df = pd.concat(buf) # your desired output
推荐阅读
- python - 引用正在定义的数据框的列
- python - 为什么在求解稀疏线性方程组时会出现内存错误?
- c# - 从启动重定向到自定义域
- java - 如何在请求正文中将可序列化对象的映射作为 JSON 传递
- ios - `urlSession(_:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:)` 在下载内容时仅调用一次使用 Alamofire
- docker-compose - 如何准备 yaml 文件来修改 grafana 中的 SMTP/Emailing 部分?
- ruby-on-rails - Heroku & rails:尝试减小 slug 大小后无法部署 - 无法构建 charlock_holmes
- python - 通过变量选择netCDF文件中的数据
- c# - .Net Core 2.2 中的 OData:如何获取项目总数?
- sql-server - SQL:这能写得更高效吗?