Python 停止使用excel覆盖文本

Python 停止使用excel覆盖文本,python,excel,pandas.excelwriter,Python,Excel,Pandas.excelwriter,更新-我通过向数据框添加行,然后只将数据框写入Excel一次,解决了以下问题。其他读者可能会觉得有用 更新2-如果要停止将标题名称写入Excel,则可以找到此帮助 更新3-如果要在将数据框写入Excel时删除行号,则此链接可能会有所帮助 我希望Python从一个Excel文件(Python.xlsx)中读取Amazon URL列表,然后用URL、产品标题和产品价格填充另一个Excel文件(python2.xlsx)。我不想为每个产品创建新的Excel表。我不希望在将新数据写入sheet1时覆盖现

更新-我通过向数据框添加行,然后只将数据框写入Excel一次,解决了以下问题。其他读者可能会觉得有用

更新2-如果要停止将标题名称写入Excel,则可以找到此帮助

更新3-如果要在将数据框写入Excel时删除行号,则此链接可能会有所帮助

我希望Python从一个Excel文件(Python.xlsx)中读取Amazon URL列表,然后用URL、产品标题和产品价格填充另一个Excel文件(python2.xlsx)。我不想为每个产品创建新的Excel表。我不希望在将新数据写入sheet1时覆盖现有数据。我也不需要使用to_excel命令将标题名和行号写入excel

我看了一下,但不能把它应用到我的问题上

是否有方法停止将标题名和行号写入Excel?有没有办法阻止电子表格中的现有文本被覆盖

Row = 0
MaxRow = len(df)
while Row <= MaxRow:
    URL = (df.iloc[Row,0]) 
    headers  = {"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36'}
    page = requests.get(URL, headers=headers)
    soup = BeautifulSoup(page.content, 'html.parser')
    title = soup.find(id="productTitle").get_text()
    price = soup.find(id="priceblock_ourprice").get_text()
    converted_price=float(price[1:6])
    df2 = pd.DataFrame({'Url':[URL],
                        'Title':[title.strip()],
                        'Price':[converted_price]})
    writer = ExcelWriter(r'C:\Users\HP\Documents\python2.xlsx')
    df2.to_excel(writer, sheet_name='Sheet1', startrow=Row,startcol=2)
    writer.save()
    Row = Row + 1
    if Row == MaxRow:
        break
行=0
MaxRow=len(df)

当您将行写入同一文件时,逐行写入。如果框架包含10行,这意味着您将继续覆盖前几行。至少按实际行数增加
。更好的方法是,只打开一次文件,在循环之外创建一个编写器。那么您是否建议我先将信息写入数据框,然后将数据框写入Excel?