def select_file():
# 选择Excel文件
filename = filedialog.askopenfilename(filetypes=[("Excel files", "*.xlsx")])
# 打开Excel文件并读取内容
workbook = openpyxl.load_workbook(filename)
worksheet = workbook.active
# 输出表格中的内容并计算能耗
for row in worksheet.iter_rows(min_row=2):
row_text=''
for cell in row:
#print(cell.value,end=',')
row_text+=f'{cell.value},'
t0 = float(row[0].value)
te = float(row[1].value)
ε = float(row[2].value)
P_R = float(row[3].value)
P_Z = float(row[4].value)
L = float(row[5].value)
Q_s = float(row[6].value)
Q = float(row[7].value)
Q_WS = (t0 - te) * ε / L
P_Jun = (P_R - P_Z) / L
λ = Q_s / Q
conclude = (Q_WS, P_Jun, λ)
print(str(conclude))
text_create('海底管道能耗计算结果', str(conclude))
wb = Workbook()
sheet = wb.active
data = open('C:\\Users\\10154\\Desktop\\海底管道能耗计算结果.txt', 'r', encoding='utf_8')
datas = data.readlines() # readlines()依次读取所有行(直到结束符 EOF)并返回列表
for index, row in enumerate(datas):
d = row.split() # split()通过指定分隔符对字符串进行切片,并返回分割后的字符串列表
for col in range(len(d)):
sheet.cell(index + 1, col + 1, d[col]) # 表示我们要对第i行第j列单元格进行修改
# sheet.cell(worksheet.row[0])
wb.save('海底管道能耗计算结果.xlsx')
如何在这基础上将excel表格中加入Q_WS, P_Jun, λ这三个标题
可以在读取Excel表格内容的时候,在输出循环之前加入以下代码:
worksheet.cell(1, 8).value = 'Q_WS'
worksheet.cell(1, 9).value = 'P_Jun'
worksheet.cell(1, 10).value = 'λ'
这样就会在第一行第8列、第9列和第10列加入这三个标题。修改后的代码如下:
def select_file():
# 选择Excel文件
filename = filedialog.askopenfilename(filetypes=[("Excel files", "*.xlsx")])
# 打开Excel文件并读取内容
workbook = openpyxl.load_workbook(filename)
worksheet = workbook.active
# 将Q_WS, P_Jun, λ添加到标题行
worksheet.cell(1, 8).value = 'Q_WS'
worksheet.cell(1, 9).value = 'P_Jun'
worksheet.cell(1, 10).value = 'λ'
# 输出表格中的内容并计算能耗
for row in worksheet.iter_rows(min_row=2):
row_text=''
for cell in row:
#print(cell.value,end=',')
row_text+=f'{cell.value},'
t0 = float(row[0].value)
te = float(row[1].value)
ε = float(row[2].value)
P_R = float(row[3].value)
P_Z = float(row[4].value)
L = float(row[5].value)
Q_s = float(row[6].value)
Q = float(row[7].value)
Q_WS = (t0 - te) * ε / L
P_Jun = (P_R - P_Z) / L
λ = Q_s / Q
# 向表格中添加Q_WS, P_Jun, λ数据
row[7].offset(column=1).value = Q_WS
row[7].offset(column=2).value = P_Jun
row[7].offset(column=3).value = λ
conclude = (Q_WS, P_Jun, λ)
print(str(conclude))
text_create('海底管道能耗计算结果', str(conclude))
wb = Workbook()
sheet = wb.active
data = open('C:\\Users\\10154\\Desktop\\海底管道能耗计算结果.txt', 'r', encoding='utf_8')
datas = data.readlines() # readlines()依次读取所有行(直到结束符 EOF)并返回列表
for index, row in enumerate(datas):
d = row.split() # split()通过指定分隔符对字符串进行切片,并返回分割后的字符串列表
for col in range(len(d)):
sheet.cell(index + 1, col + 1, d[col]) # 表示我们要对第i行第j列单元格进行修改
# sheet.cell(worksheet.row[0])
wb.save('海底管道能耗计算结果.xlsx')