Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将对象从类发送到文本文件?_Python_Pandas - Fatal编程技术网

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

Python 如何将对象从类发送到文本文件?,python,pandas,Python,Pandas,首先,我使用pandas为不同的数据聚合创建变量。然后我创建一个类,以便访问这些聚合。从类中创建新对象后,我希望将该数据发送到文本文件。我能够将类中的一个实例发送到文本文件,但不是所有四个都随附。我将试着在下面做笔记,试图解释出哪里出了问题 我做错了什么 import pandas as pd import numpy as np import datetime as DT onboard = df #get variables from data r1 = onboard['region

首先,我使用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个不同的区域,并且它们都是可调用的,那么如何从类中循环它们呢?

哇!轻松处理那些
返回值

result = "Perm: %s" \
"Temp: %s" \
"Endstrength %s " \
"Percent %s" % (self.perm, self.temp, self.endstrength, self.percent)

return result 

哇!轻松处理那些
返回值

result = "Perm: %s" \
"Temp: %s" \
"Endstrength %s " \
"Percent %s" % (self.perm, self.temp, self.endstrength, self.percent)

return result 

哇!轻松处理那些
返回值

result = "Perm: %s" \
"Temp: %s" \
"Endstrength %s " \
"Percent %s" % (self.perm, self.temp, self.endstrength, self.percent)

return result 

哇!轻松处理那些
返回值

result = "Perm: %s" \
"Temp: %s" \
"Endstrength %s " \
"Percent %s" % (self.perm, self.temp, self.endstrength, self.percent)

return result 

正如@anti1869所指出的,您使用
return
是错误的。请记住,
return
退出函数,因此第一次返回后的任何代码将永远无法访问@anti1869指出,您使用
return
是错误的。请记住,
return
退出函数,因此第一次返回后的任何代码将永远无法访问@anti1869指出,您使用
return
是错误的。请记住,
return
退出函数,因此第一次返回后的任何代码将永远无法访问@anti1869指出,您使用
return
是错误的。请记住,
return
退出函数,因此第一次返回后的任何代码都将无法访问。我对编程还是新手,因此我非常感谢您的回复。我不知道返回声明,你的回复对我来说非常有价值。谢谢。上面答案的导出不允许我打印为整数。例如,如果我将%s更改为%5d,我将收到一个错误。我如何解决这个问题?我对编程还是新手,所以我很感谢大家的回复。我不知道返回声明,你的回复对我来说非常有价值。谢谢。上面答案的导出不允许我打印为整数。例如,如果我将%s更改为%5d,我将收到一个错误。我如何解决这个问题?我对编程还是新手,所以我很感谢大家的回复。我不知道返回声明,你的回复对我来说非常有价值。谢谢。上面答案的导出不允许我打印为整数。例如,如果我将%s更改为%5d,我将收到一个错误。我如何解决这个问题?我对编程还是新手,所以我很感谢大家的回复。我不知道返回声明,你的回复对我来说非常有价值。谢谢。上面答案的导出不允许我打印为整数。例如,如果我将%s更改为%5d,我将收到一个错误。我该如何解决这个问题?