我正在将 docx 格式的表中的数据提取到 xlsx 中。我可以使用下面的代码从一个到另一个(部分)获取数据。这个例子只显示了 4 个案例,但我需要为 40 个表执行此操作。有没有一种方法可以将其组合起来,以便仅用 1/2 行代码即可在所有 4 个表中查找?
table = doc.Tables(5)
table5 = table.Cell(Row =4, Column =2).Range.Text
table = doc.Tables(6)
table6 = table.Cell(Row =4, Column =2).Range.Text
table = doc.Tables(7)
table7 = table.Cell(Row =4, Column =2).Range.Text
table = doc.Tables(8)
table8 = table.Cell(Row =4, Column =2).Range.Text
#print(table5)
combine_Table = {'Name': [table5 , table6, table7, table8]}
labels = ['a','b','c','d']
df = pd.DataFrame(combine_Table , index=labels)
#print("Select specific columns:")
#print(df[['Name']])
df.to_excel("return.xlsx")
图书馆 将 pandas 导入为 pd 将 win32com.client 导入为 win32
最佳答案
一个简单的循环就可以完成这项工作...
tables = []
for i in range(5, 9):
table = doc.Tables(i)
tables.append(table.Cell(Row =4, Column =2).Range.Text)
combine_Table = {'Name': tables}
labels = ['a','b','c','d']
df = pd.DataFrame(combine_Table , index=labels)
df.to_excel("return.xlsx")
修改range()
值取决于您拥有多少(以及哪些)表。
关于python - 如何组合代码来打印不同表格中的不同单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60432518/