![](/img/trans.png)
[英]OpenPyxl save python df into excel file with multiple sheets but when I open the file it opens on the first sheet
[英]Defining function to open an Excel file (openpyxl) and save as a DataFrame
我有一个典型的方法,用于将数据从 Excel 文件中提取到 DataFrame 中:
import pandas as pd
import openpyxl as op
path = r'thisisafilepath\filename.xlsx'
book = op.load_workbook(filename=path, data_only=True)
tab = book['sheetname']
data = tab.values
columns = next(data)[0:]
df = pd.DataFrame(data, columns=columns)
我试图将此方法定义为 function 以使代码更简单/更具可读性。
我尝试了以下方法:
def openthis(path, sheet):
book = op.load_workbook(filename=path, data_only=True)
tab = book[sheet]
data = tab.values
columns = next(data)[0:]
df = pd.DataFrame(data, columns=columns)
return df
然后当我调用 openthis() 时,output 是我控制台中 DataFrame 的打印版本,但实际上并没有为我创建任何变量来使用。
我错过了什么? 另外,有没有办法定义 DataFrame 变量在生成时被调用的内容?
您没有显示调用它的实际实现,但我猜您没有将 output 分配给变量。
请注意您的 function return df
。
该语句意味着当您调用 openthis() 时,它会输出一个变量。 除非您将 output 分配给局部变量,否则它将永远消失。
尝试这个
df = openthis(some_arguments)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.