将Dataframe行保存到单独的txt文件中

时间:2019-08-06 07:30:06

标签: python pandas file dataframe

在终端屏幕上显示的输出必须保存到单独的txt文件中。输出终端如下所示:

A1001
2
B1001
6
C1001
4

它是通过命令从while循环派生的:

print(apartmentno)
print(df)

如何将每对输出打印到名为output1.txt,output2.txt,output3.txt .... outputn.txt的文本文件中?

预期输出:

output1.txt

A1001
2

output2.txt

B1001
6

output3.txt

C1001
4

到目前为止,我已经尝试了以下代码:

.
.
.
df = disp_date.ClassAttend.sum()
print(apartmentno)
print(final_df)

z = []
z.append(apartmentno)
z.append(df)
print(z)

ctr = 0
for i in z:
   ctr += 1
   f = open(('d:\\output'+ str(ctr)+ '.txt'), mode='w') 
   f.write(apartmentno)
   f.write(df)
   f.close()

此外,我收到错误FileNotFoundError:[Errno 2]尽管我以'w'模式打开,但没有这样的文件或目录。

如何获得所需的输出?

1 个答案:

答案 0 :(得分:0)

我尚不清楚您如何构建循环,但希望以下信息对您有所帮助。

您可以使用enumerate作为循环中的索引号,并在处理文件对象时使用with关键字。这样,您可以创建文件。关于with

  

优点是,即使套件在某个时候引发异常,该文件在其套件完成后也会正确关闭。

从Python 3.6开始,您还可以使用f-strings,这使文件名的结构更易读:

for index, value in enumerate(z):
    with open(f'output{index}.txt', 'w') as f:
        f.write(value)