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