【发布时间】:2021-09-29 14:38:43
【问题描述】:
我正在尝试创建一个类,该类采用 CSV 文件的路径和名称,将其转换为数据框,删除一些列,将另一列转换为日期时间,如代码中所示
import os
from pathlib import Path
import pandas as pd
import datetime
class Plans:
def __init__(self, file , path):
self.file = file
self.path = path
self.df = pd.Dataframe()
def get_dataframe(self):
os.chdir(self.path)
self.df = pd.read_csv(self.file, encoding="latin-1", low_memory=False, sep=';')
if 'data' in df.columns:
self.tipo = 'sales'
self.df['data'] = pd.to_datetime(df['data'])
return clean_unused_data()
def clean_unused_data(self):
columns = ['id', 'docs', 'sequence','data_in','received', 'banc', 'return', 'status', 'return_cod',
'bank_account_return', 'id_transcript', 'id_tx','type_order']
for item in columns:
del self.df[item]
del columns[:]
return self.df
当我调用类的对象时,clean_unused_data 函数会出错 返回以下错误:
__getattr__ raise AttributeError(f"module 'pandas' has no attribute '{name}'")
另外,我想在 Plans 类中做更多的数据框转换。但由于第一次失败,我有点失落。
感谢您的帮助,我对 python 缺乏亲密感表示歉意
【问题讨论】:
-
首先分享使用这个类的代码
-
您能否提供您如何调用该类以及一个虚拟 csv 以便我们可以运行代码?
-
return clean_unused_data()-->return self.clean_unused_data()- 不是吗?
标签: python pandas function class