#python #pandas #openpyxl
#python #панды #openpyxl
Вопрос:
Я пытаюсь загрузить файл Excel с помощью библиотеки openpyxl, но я продолжал получать ошибку значения. Я также создал новый файл Excel и попытался загрузить файл с помощью pandas, но я все еще получаю ячейку, связанную с ошибкой исключения «C7».
openpyxl
DestFile ="C:\Users\yaxee\OneDrive\Desktop\NBET Extraction data\December Data Extration 2020 NBET\XYX.xlsx"
wb2 = xl.load_workbook(DestFile)
Ошибка
ValueError: invalid literal for int() with base 10: '7.0'
панды
df = pd.read_excel (r'C:UsersyaxeeOneDriveDesktopNBET Extraction dataDecember Data Extration 2020 NBETXYX.xlsx')
Ошибка
Exception: cell name 'C7.0' but row number is '7'
При необходимости я могу опубликовать полный сценарий ошибки.
вот полный сценарий, с которым я работаю:
import openpyxl as xl
ExtractionFile ="C:\Users\yaxee\OneDrive\Desktop\NBET Extraction data\August Data Extration 2020 NBET\NOR04082020.xlsx"
wb1 = xl.load_workbook(ExtractionFile, data_only=True)
daily_broadcast = wb1.worksheets[0]
DestFile ="C:\Users\yaxee\OneDrive\Desktop\NBET Extraction data\August Data Extration 2020 NBET\SampleOct.xlsx"
wb2 = xl.load_workbook(DestFile)
peak_gen = wb2.worksheets[0]
off_gen = wb2.worksheets[1]
energy_gen = wb2.worksheets[2]
energy_sent = wb2.worksheets[3]
instlld_cap = wb2.worksheets[4]
gen_cap = wb2.worksheets[5]
onBar_cap = wb2.worksheets[6]
gen_6am = wb2.worksheets[7]
unutilized = wb2.worksheets[8]
col_count = 6
step = 2
read_start_row = 73
write_start_row = 4
amount_of_rows = 54
#peak generation capability code
for row in range(5, 34):
a = daily_broadcast.cell(row = row, column = 25)
peak_gen.cell(row = row-1,column = col_count).value = a.value
wb2.save(str(DestFile))
#off generation capability code
for row in range(5, 34):
b = daily_broadcast.cell(row = row, column = 27)
off_gen.cell(row = row-1,column = col_count).value = b.value
wb2.save(str(DestFile))
#Energy generated code
for row in range(39, 68):
c = daily_broadcast.cell(row = row, column = 25)
energy_gen.cell(row = row-35,column = col_count).value = c.value
wb2.save(str(DestFile))
#Energy dispatched code
for row in range(39, 68):
d = daily_broadcast.cell(row = row, column = 27)
energy_sent.cell(row = row-35,column = col_count).value = d.value
wb2.save(str(DestFile))
#Installed Capacity code
for i in range(0, amount_of_rows, step):
e = daily_broadcast.cell(row = read_start_row i, column = 13)
instlld_cap.cell(row = write_start_row (i/step),column = col_count).value = e.value
wb2.save(str(DestFile))
#Generation Capablity code
for i in range(0, amount_of_rows, step):
f = daily_broadcast.cell(row = read_start_row i, column = 15)
gen_cap.cell(row = write_start_row (i/step),column = col_count).value = f.value
wb2.save(str(DestFile))
#On Bar Capablity code
for i in range(0, amount_of_rows, step):
g = daily_broadcast.cell(row = read_start_row i, column = 19)
onBar_cap.cell(row = write_start_row (i/step),column = col_count).value = g.value
wb2.save(str(DestFile))
#Generation at 6am code
for i in range(0, amount_of_rows, step):
g = daily_broadcast.cell(row = read_start_row i, column = 21)
gen_6am.cell(row = write_start_row (i/step),column = col_count).value = g.value
wb2.save(str(DestFile))
Комментарии:
1. Вы пытаетесь где-то присвоить значение целому числу?
2. На самом деле, я добавил полный скрипт, с которым я работаю, к вопросу. Вы можете посмотреть.
3. Можете ли вы добавить фрагмент содержимого, который должен быть записан
SampleOct.xlsx
?4. Я добавил его