Python 3.x Openpyxl更新文件的数据,而不是创建新的
我正在建立一个小工具来检查网站上的超链接是否会消失或保留。 到目前为止,该程序仍能正常工作,但始终会创建一个新文件并删除一天前创建的最新工作表,我每天都会更新脚本 我的代码如下Python 3.x Openpyxl更新文件的数据,而不是创建新的,python-3.x,beautifulsoup,web-crawler,openpyxl,Python 3.x,Beautifulsoup,Web Crawler,Openpyxl,我正在建立一个小工具来检查网站上的超链接是否会消失或保留。 到目前为止,该程序仍能正常工作,但始终会创建一个新文件并删除一天前创建的最新工作表,我每天都会更新脚本 我的代码如下 def save_results(excel_urls,erg): currentdate = str(date.today()) excel_file = openpyxl.load_workbook('Links2.xlsx') excel_sheet = ex
def save_results(excel_urls,erg):
currentdate = str(date.today())
excel_file = openpyxl.load_workbook('Links2.xlsx')
excel_sheet = excel_file['Sheet']
book = Workbook()
sheet = book.active
#this following code is from my main sheet to keep it in the following file as well. its also not a proper update function but works so far.
sheet.column_dimensions['A'].width = 60
sheet.column_dimensions['B'].width = 60
for row in excel_sheet.values:
sheet.append(row)
#Here im going to create the other sheets with the results of my crawl
book.create_sheet(currentdate)
book[currentdate].column_dimensions['A'].width = 60
book[currentdate].column_dimensions['B'].width = 60
for keys,values in enumerate(excel_urls):
y = values[0], str(erg[keys])
book[currentdate].append(y)
book.save('Links2.xlsx')
我找不到只更新而不覆盖现有文件的方法。一个在结果安全之前包含所有内容的函数也可以工作
提前谢谢你的帮助
我的函数实际上不起作用
excel_file = openpyxl.load_workbook('Links2.xlsx')
book = Workbook()
for z,i in enumerate(excel_file.sheetnames):
book.create_sheet('{}'.format(i))
print(excel_file.sheetnames[z])
for row in excel_file[excel_file.sheetnames[i]].values:
#print(row)
excel_file[excel_file.sheetnames[i]].append(row)
book.save('Links2.xlsx')```
更新和覆盖之间没有区别。谢谢,我期待着。因此,我尝试编写一个函数,将所有现有数据附加到文件中,但它不起作用。我要在我的帖子里添加代码。
def save_exisiting_data():
excel_file = openpyxl.load_workbook('Links2.xlsx')
book = Workbook(write_only=True)
for z, i in enumerate(excel_file.sheetnames):
book.create_sheet('{}'.format(i))
book[i].column_dimensions['A'].width = 60
book[i].column_dimensions['B'].width = 60
for row in excel_file[excel_file.sheetnames[z]].values:
book[excel_file.sheetnames[z]].append(row)