【问题标题】:call another function to another pandas dataframe file调用另一个函数到另一个熊猫数据框文件
【发布时间】:2021-10-12 19:00:22
【问题描述】:

我有两个脚本: file1.py 和 file2.py

file1.py

## file1.py
from file2 import *

class df_read():

   def __init__(self):
       self.df1 = df1
       self.df2 = df2

   def df1_read(self,fileloc,sheet_NAME):
       self.df1 = pd.read_excel(file_loc,sheet_name=sheet_NAME)
       self.start_time1 = df1.iloc[0][1]
       return self.start_time1

   def df2_read(self,file loc,sheet_NAME):
       self.df2 = pd.read_excel(file_loc,sheet_name=sheet_NAME)
       self.start_time2 = df2.iloc[0][1]
       return self.start_time2

file2.py


##file2.py
from file1 import *

result1 = df_read.df1_read(C:\Users\exam1.xlsx,'01') - df_read.df2_read(C:\Users\exam1.xlsx,'02')
result2 = df_read.df1_read(C:\Users\exam2.xlsx,'01') - df_read.df2_read(C:\Users\exam2.xlsx,'02')

我想从另一个文件调用一个函数,但它不起作用。你能帮帮我吗?

【问题讨论】:

  • 你知道什么是类吗?为什么将这两个函数包装在class df_read 中?你能解释一下原因吗?
  • 首先,您需要先实例化您的类df_read(),然后才能使用它。其次,在你的类的构造函数中,你设置了self.df1 = df1self.df2 = df2;但是您的参数中没有df1df2

标签: python pandas dataframe


【解决方案1】:

你没有在第二个 sn-p 中实例化你的类:

df_obj = df_read()

result1 = df_obj .df1_read(C:\Users\exam1.xlsx,'01') - df_obj.df2_read(C:\Users\exam1.xlsx,'02')
result2 = df_obj.df1_read(C:\Users\exam2.xlsx,'01') - df_obj.df2_read(C:\Users\exam2.xlsx,'02')

【讨论】:

  • 另外,OP 已经设置了 self.df1 = df1self.df2 = df2,但是 OP 没有指定它们是什么。
猜你喜欢
  • 2021-12-22
  • 2013-12-04
  • 2018-08-03
  • 2019-12-21
  • 2023-04-03
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多