我有一个pandas数据帧列表,希望对其进行迭代并获得原始变量名。我尝试了以下操作,但打印行抛出错误(“DataFrame”对象没有属性“name”):
import pandas as pd
testFrame1 = pd.DataFrame(columns=["test1"])
testFrame2 = pd.DataFrame(columns=["test2"])
listOfFrames = [testFrame1,testFrame2]
for frame in listOfFrames:
print(frame.name) #<--This throws an error
在这种情况下,我希望输出为: 测试框架1 测试框架2
背景: 我有一个函数,它接收数据帧,并用新的工作表将每个数据帧附加到Excel文件中。它可以工作,但每个新工作表都被命名为“Analysis_0”、“Analysis_1”等。我希望每个新工作表都以数据帧变量命名(在本例中为“testFrame1”、“testFrame2”等)。以下是迄今为止的功能:
def addDFWorksheetToExcelFile(excelFile,*dataFrames):
# copied from stackoverflow
from openpyxl import load_workbook
book = load_workbook(excelFile)
with pd.ExcelWriter(excelFile, engine='openpyxl') as writer:
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
## Your dataframes to append.
frameNo = 0
for dataFrame in dataFrames:
# This is where I would like to name the Excel sheet after the original data frame variable name
dataFrame.to_excel(writer, "Analysis_" + str(frameNo))
frameNo += 1
writer.save()
# end copy stackoverflow
实际上,您可以为数据帧设置名称方法
这将打印数据帧名称
相关问题 更多 >
编程相关推荐