Я запускаю скрипт на Python, чтобы вставить какое-то значение из блокнота в Excel.Адресная часть Excel должна быть в разных строках, например так: Python Excel Error
Но это не выводит значение в Excel, как указано выше.Вместо этого он печатается так: Ошибка Python Excel 1
Ниже приведен код: **
**# -*- coding: utf-8 -*-
"""
Created on Fri Nov 2 12:00:36 2018
@author: yy
"""
import re
import openpyxl
name = "Default"
i = 2
add = ""
text = [line.rstrip('\n') for line in open(r'''C:\Users\xxx\Desktop\yy files\EDF Energy\NewNote.txt''', "r")]
book = openpyxl.load_workbook(r'C:\Users\xxx\Desktop\yy files\test_value.xlsx')
sheet = book['Sheet1']
#ws = book.worksheets[0]
#Retriving Account Number
for line in text:
x = re.findall('(\d{3}[\s]\d{3}[\s]\d{3}[\s]\d{3})', line)
if len(x) != 0:
accno= (", ".join(x))
y= accno.replace(" ","")
accno=int(y)
print("account number, y ",accno, y)
#Retriving Name
if "Hello" in line:
name = line[5:]
name= name.replace(",","")
name= name.replace("-","")
print("name ",name)
#sheet['B2']=name
#Retriving outstanding Balance
if "projection:" in line:
z = re.findall(r'\d+[.]\d+',line)
print("z ",z)
accbal = (", ".join(z))
print("account balance ",accbal)
#sheet['D2']= (", ".join(z))
# Retriving Address details
addlines=[]
totalline=0
dearwordline=0
fstnameline=0
index=0
account_index=0
add_index=0
for y in text:
if "Page 1 of " in y:
fstnameline=index
print("fstnameline ",fstnameline)
break
index+=1
for z in text:
if "personal projection:" in z:
dearwordline=totalline
print("dearwordline",dearwordline)
print("totalline",totalline)
totalline+=1
for cell in sheet["C"]:
if cell.value is None:
sheet.cell(column= 2, row=cell.row+account_index, value= name)
sheet.cell(column= 4, row=cell.row+account_index, value= accbal)
sheet.cell(column= 1, row=cell.row+account_index, value= accno)
account_index = dearwordline-fstnameline+1
#account_name+=account_index
break
for cell in sheet["C"]:
if cell.value is None:
for x in text[fstnameline+1:dearwordline]:
if add_index < dearwordline-fstnameline-1 :
if add_index <= cell.row :
x.strip()
x= x.replace("Could you pay less?","")
x= x.replace(",",";")
print("x in text:",x)
print("cell.row in C : ",cell.row)
x= x.replace(" Over the next 12 months","")
sheet.cell(row = cell.row, column =3,value = x)
print("x after printing in excel:",x)
#if cell.row == 7:
#print(cell.row,"+" , add_index)
cell.row+=1
# add_index = dearwordline-fstnameline-1
add_index+=1
#sheet.cell(row = i, column =3).value = x
#add = x(i)
#i+=1
"""for cell in ws["C"]:
if cell.value is text[fstnameline+1:dearwordline]:
print("cell row for A,B,D : ",cell.row)
# ws.cell(column= 1, row=cell.row, value= accno)
ws.cell(column= 2, row=cell.row, value= name)
ws.cell(column= 4, row=cell.row, value= accbal)
i= cell.row
print (i)
#break
#for cell in ws["C"]:
# if cell.value is None:
#ws.cell(row = cell.row, column =3,value = x)
#ws.cell(column= 3, row=cell.row, value= x)
cell.row+=1
print("cell.row",cell.row)
print("x in C column ",x)
#break"""
# print (add)
#Writing address to excel
#sheet.cell(row = i, column =3).value = x
#i+=1
#sheet['Ai'] = int(y)
book.save(r'C:\Users\xxx\Desktop\yy files\test_value.xlsx')**
**
Может кто-нибудь, пожалуйста, помогите??Я не могу ничего с этим поделать.У меня есть только базовые знания Python.Этот код работает странно, когда я пытаюсь записать значение в новый файл Excel, он не входит в сам цикл.И это не запись значений в Excel.
После запуска скрипта Python я получаю ошибку восстановления Excel, как показано ниже: Всплывающее окно восстановления Excel Всплывающее окно восстановления Excel 1
Извините зассылки на изображения, так как сайт Stackoverflow не позволяет мне вставлять изображения.Так что, пожалуйста, кто-нибудь поможет мне.