如何将对象从类发送到文本文件?

2024-05-17 09:03:06 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我使用pandas为不同的数据聚合创建变量。然后我创建一个类以便可以访问这些聚合。一旦我从类中创建了新对象,我就想把数据发送到一个文本文件中。我可以将类中的一个实例发送到文本文件中,但不是所有四个都随附。我会尽量把笔记放在下面,试图解释哪里出了问题。你知道吗

我做错什么了?你知道吗

import pandas as pd
import numpy as np
import datetime as DT

onboard = df

#get variables from data

r1 = onboard['regions'] == "Northern Region (R1)"    
perm = onboard['perm_temp'] == "Perm"
temp = onboard['perm_temp'] == "Temp"
r1_perm = onboard[r1 & perm].ssno.count()
r1_temp = onboard[r1 & temp].ssno.count()

我的班级:

class Demographics(object):
'Common base class for demographics'

    #Create variables for tenure
    def __init__(self,perm, temp, endstrength, percent):

        self.perm = perm
        self.temp = temp        
        self.endstrength = endstrength
        self.percent = percent

    def displayDemo(self):

        return "Perm: %s" % self.perm
        return "Temp: %s" % self.temp
        return "Endstrength %s" % self.endstrength
        return "Percent %s" % self.percent

现在创建我的新对象:

r1_demo = Demographics(r1_perm, r1_temp, r1_total, r1_percent)

发送到.txt文件

path1 = r'C:\Users\davidlopez\Desktop\region1.txt'
target = open(path1, 'w') 
target.write("\n")
target.write("region1:\n")
target.write(r1_demo.displayDemo())
target.close()
print "sent...."

所以遇到的只是第一个实例(想想这就是它的名字),我的.txt文件如下所示:

Perm:  3456

但应该是这样的:

Perm:  3456
Temp:  5677
Endstrength:  9133
Percent:  100.0

此外,我想知道是否有一种方法来做一个循环。所以,如果我有44个不同的区域,所有这些区域都是可调用的,那么如何从类中循环遍历它们呢?你知道吗


Tags: importselftxttargetreturnastempwrite