gpt4 book ai didi

python - 每次 python 脚本运行时更改 Excel 工作表

转载 作者:太空宇宙 更新时间:2023-11-03 18:58:27 24 4
gpt4 key购买 nike

我需要更改 Excel 工作簿中的工作表,次数与代码运行的次数相同。假设我的 python 脚本第一次运行并且数据保存在工作表 A 中,下次当某个应用程序运行时我的脚本数据应该是保存在工作表 B 中。工作表 A 应该与该工作簿中的内容相同。有可能吗?如果是,怎么办?这是我的代码:

#!/usr/bin/env python
import subprocess
import xlwt
process=subprocess.Popen('Test_Project.exe',stdout=subprocess.PIPE)
out,err = process.communicate()
wb=xlwt.Workbook()
sheet=wb.add_sheet('Sheet_A') #next time it should save in Sheet_B
row = 0
for line in out.split('\n'):
for i,wrd in enumerate(line.split()):
if not wrd.startswith("***"):
print wrd
sheet.write(row,i,wrd)
row=row+1

wb.save('DDS.xls')

感谢任何帮助...

最佳答案

我建议使用openpyxl 。它可以读取写入 xlsx 文件。如果需要,您可以随时使用 Excel 或 Open/LibreOffice 将它们转换为 xls,假设你最后只有一个大文件。

此脚本会创建一个新的 Excel 文件(如果不存在),并在每次运行时添加一个新工作表。我使用 index + 1 作为工作表名称 (title),从 1 开始。数字索引从 0 开始。您最终会得到一个包含名为 123 等。每次将数据写入最后一张表时。

import os

from openpyxl import Workbook
from openpyxl.reader.excel import load_workbook

file_name = 'test.xlsx'

if os.path.exists(file_name):
wb = load_workbook(file_name)
last_sheet = wb.worksheets[-1]
index = int(last_sheet.title)
ws = wb.create_sheet(index)
ws.title = str(index + 1)
else:
wb = Workbook()
ws = wb.worksheets[0]
ws.title = '1'
ws.cell('A2').value= 'new_value'
wb.save(file_name)

关于python - 每次 python 脚本运行时更改 Excel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16687747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com