python - 蟒蛇 | 使用 pandas 以块的形式加载 excel 文件(一个块与其他块用空行分隔)
问题描述
我有一个 Excel 表,该表包含下面提供的不同部分示例。我想阅读新数据框中的每个部分。对于下面提到的工作表,我希望每个部分有 3 个数据框。像这样读取文件的可能方法是什么?
Header1 Header2 Header3 Header4
A1 A2 A3 A4 - Section 1
A5 A6 A7 A8
A9 A10 A11 A12
na na na na (Blank line)
B1 B2 B3 B4 - Section 2
B5 B6 B7 B8
na na na na (Blank Line)
C1 C2 C3 C4 - Section 3
C5 C6 C7 C8
C9 C10 C11 C12
解决方案
您可以尝试阅读完整的 DF,然后像这样拆分它:
# creating list of indexes for separation rows
sep_rows = df[df.isnull()].index.tolist()
# splitting according to the list
sep_rows2 = [0] + sep_rows + [max(sep_rows)+1]
dfs = [df.iloc[sep_rows2[n]:sep_rows2[n+1]] for n in range(len(sep_rows2)-1)]
# Show new dfs
print (dfs[0])
print (dfs[1])
print (dfs[2])
推荐阅读
- c - 如何比较字符串中的各个元素?
- android - 您的 CPU 不支持所需的功能(VT-x 或 SVM)
- mongodb - 如何有效地检查 Scala 的 MongoDB 集合是否为空?
- reactjs - 让 Storybook react-docgen-typescript-loader 使用 typescript 道具
- packer - Azure Devops Packer 构建代理(为 Packer 创建的临时资源组定义 Vnet IP 范围以获取快照))
- cordova - “cordova run android”突然停止工作,以错误消息结束
- validation - 如何将电子邮件建议传递到 Azure AD B2C 注册页面
- android - 如何识别导致类或成员保留在android中的proguard规则?
- python - 在工作机器上运行同步的虚拟环境时遇到问题
- git - 如果文件结构同时在单独的分支中更改,git如何处理合并时的内容更改?