Python 循环在终端中生成正确答案,但在传输到excel工作表时不生成

Python 循环在终端中生成正确答案,但在传输到excel工作表时不生成,python,excel,pandas,Python,Excel,Pandas,代码 import pandas as pd Ticklist = pd.read_excel("C:\\Users\\Ashley\\Eyes Trial Data Center.xlsx",sheet_name='Tickers', header=None) stocks = Ticklist.values.ravel() Individualreport = "C:\\Users\\Ashley\\FromPython.xlsx" write

代码

import pandas as pd 

Ticklist = pd.read_excel("C:\\Users\\Ashley\\Eyes Trial Data Center.xlsx",sheet_name='Tickers', header=None)
stocks = Ticklist.values.ravel()

Individualreport = "C:\\Users\\Ashley\\FromPython.xlsx"

writer = pd.ExcelWriter(Individualreport, engine='xlsxwriter')

row_tick = 0
col_tick = 0

for i in stocks:
    #write ticker in excel
    s = Ticklist.loc[(Ticklist[0]==i)]
    print(s)
    s.to_excel(writer, sheet_name='Sheet1', startrow= row_tick, startcol=row_tick, header=False, index=False)
    row_tick += 47

writer.save()    
在打印的终端bc中生成

但在“IndividualReport”excel工作簿中,它只写入第一个值。
我想知道它是否不起作用,因为股票脱离了清单??我怎样才能解决这个问题。我只想把清单/股票中的股票代码名放入单独的报告中,每个报告分为47行。

您的错误发生是因为您每次循环浏览一只新股票时都在向excel写入代码。这将用新文件替换您的旧文件

你可以试试下面的方法

out=pd.DataFrame()
对于我的股票:
#在excel中编写代码
s=勾选列表.loc[(勾选列表[0]==i)]
out=out.append(s.copy())#将s行附加到保存到excel的最终数据框中
印刷品
out.to_excel(writer,sheet\u name='Sheet1',startrow=0,startcol=0,header=False,index=False)

这似乎只是在不跳过行的情况下编写列表。我想您可以在数据帧中附加一些空行来轻松解决这个问题-使用startrow参数也应该可以,我自己就是没能做到这一点。看起来我只是在代码中犯了一个愚蠢的错误,我不小心把行写在了该列的位置。谢谢你的帮助!=)
      0
0  ADVM
      0
1  AERI
      0
2  AGTC
     0
3  ALC
      0
4  ALDX
      0
5  ALIM
      0
6  ARPO
      0
7  CLSD
     0
8  COO
      0
9  EYEG
       0
10  EYEN
       0
11  EYPT
       0
12  GKOS
       0
13  ISEE
       0
14  KALA
      0
15  KOD
       0
16  OCUL
       0
17  OTLK
       0
18  STAA