我有一个while循环,它的输出被写到一个数据框中,然后我试图把它写到一个excel文件中。但是在循环完成之后,我只得到了最后一个循环的输出。我希望数据被追加,而不是被覆盖。
b=10
a =0
while a < b:
....
....
# dataframe is created.
............
#writing to excel
writer = pd.ExcelWriter('output.xlsx',engine='xlsxwriter')
df.to_excel(writer,startrow = startrow)
writer.save()
startrow = startrow + 1
a=a+1 输出应如下所示:enter image description here
但是输出结果是:enter image description here
发布于 2020-09-12 14:14:37
以下是几种让您设置数据帧的方法。所有这些都会给你带来相同的结果。
将列表理解作为定义的一部分
import pandas as pd
df = pd.DataFrame({'A':[i for i in range(1,10,2)],
'B':[i for i in range(2,11,2)]})
print ('df \n',df)使用append语句
df1 = pd.DataFrame(data=None,columns=['A','B'])
for i in range (1,11,2):
df1=df1.append({'A':i, 'B':i+1},ignore_index=True)
print ('df1 \n',df1)使用.loc语句
df2 = pd.DataFrame(data=None,columns=['A','B'])
a = 0
b = 1
while b < 10:
df2.loc[a] = [b, b+1]
b+=2
a+=1
print ('df2 \n',df2)输出将如下所示:
列表理解
df
A B
0 1 2
1 3 4
2 5 6
3 7 8
4 9 10append语句
df1
A B
0 1 2
1 3 4
2 5 6
3 7 8
4 9 10.loc语句
df2
A B
0 1 2
1 3 4
2 5 6
3 7 8
4 9 10现在已经创建了数据帧,可以将它们加载到excel文件中了。
这将使您将数据帧写入到excel文件中。
from pandas import ExcelWriter
from pandas import ExcelFile
writer = ExcelWriter('Pandas-Example2.xlsx')
df.to_excel(writer,'Sheet1',index=False)
writer.save()https://stackoverflow.com/questions/63857161
复制相似问题