我只需要从具有多张不符合任何标准布局的多张excel书籍中提取表格数据。我可以编写一些在行和列上循环查找表的代码(查找2个或更多连续的单元格/行),但是希望有更好的方法。我正在Python(v3.6.5)Pandas中实现这一点。
示例场景:
表格数据随机放置在工作表中-我只想提取“颜色”和“行”数据。
A B C D E 空白空白空白空白空白 空白空白空白空白空白 空白Col1 Col2 Col3 Col4 空白Row1 Row1 Row1 Row1 空白Row2 Row2 Row2 Row2 空白Row3 Row3 Row3 Row3 空白Row4 Row4 Row4 Row4 空白Row5 Row5 Row5 Row5 空白Row6 Row6 Row6 Row6 空白Row7 Row7 Row7 Row7 空白的Row8 Row8 Row8 Row8
表格数据从第3-6行开始-我只想提取“ Col”和“ Row”数据。
A B C D E 空白 空白 Col1 Col2 Col3 Col4 第1行第1行第1行 行2行2行2行2 第3行第3行第3行第3行 第4行第4行第4行第4行 第5行第5行第5行第5行 第6行第6行第6行第6行 行7行7行7行7 Row8 Row8 Row8 Row8
表格数据是在合并的单元格之后开始的-我想跨过合并的单元格并仅提取'Col'和'Row'数据。
A B C D E
Col1 Col2 Col3 Col4
合并单元格中的数据(A到D)
合并单元格中的数据(从A到D)
Row1 Row1 Row1 Row1
行2行2行2行2
第3行第3行第3行第3行
第4行第4行第4行第4行
第5行第5行第5行第5行
第6行第6行第6行第6行
第7行第7行第7行第7行
Row8 Row8 Row8 Row8
A B C D E
一些数据
一些数据
一些数据
Col1 Col2 Col3 Col4
Row1 Row1 Row1 Row1
行2行2行2行2
第3行第3行第3行第3行
第4行第4行第4行第4行
第5行第5行第5行第5行
第6行第6行第6行第6行
第7行第7行第7行第7行
Row8 Row8 Row8 Row8
编辑 这是我到目前为止所做的:
import pandas as pd
import os
directory = '[path]'
for filename in os.listdir(directory):
if filename.endswith(".xlsx") or filename.endswith(".xlsm") or filename.endswith(".xls"):
df = pd.DataFrame()
xl = pd.ExcelFile(filename)
# print xl.sheet_names
sheets = xl.sheet_names
print()
print(filename)
for sheet in sheets:
df = pd.read_excel(filename, sheet)
#TO DO: extract tabular data from df