Используя Python для чтения файла Excel, который не содержит заголовков, измените его и запишите как другой файл Excel.Я получаю предупреждение "Не удается разобрать верхний или нижний колонтитул" - PullRequest
0 голосов
/ 30 января 2019

Мой файл Excel не имеет заголовка, я пытаюсь обновить некоторые ячейки в электронной таблице, а затем записать его в другой файл.Пример файла:

   A          B          C          D          E
1  Title of file in text form
2  This file contains calculations that are used...
3  in verifying values...
4
5  Vre        Vim        Complex    Vl
6                        0          0.0000

Строки 1-3 содержат текст, который находится только в столбце A (BE пустые).A6 и B6 - это данные, которые я ввожу из своего кода.C6 и D6 являются формулами и будут обновляться при наличии данных A6 и B6.Используя openpyxl, я могу делать все, что хочу, но получаю предупреждение:

C:\Python27\lib\site-packages\openpyxl\worksheet\header_footer.py:49: 
UserWarning: Cannot parse header or footer so it will be ignored
  warn("""Cannot parse header or footer so it will be ignored""")

Мой код для открытия 1-го файла Excel выглядит так:

wb = load_workbook(filename = tempfilename)
ws = wb.active

# Update cells with data
ws['A9'] = Calc_Vre
ws['B9'] = Calc_Vim

Запись данныхво 2-й файл Excel:

wb.save(myfile)

Я пытался использовать панды, но я не обновляю правильные ячейки, и первая строка входного Excel не записывается в выходной Excel.

import pandas as pd
idf = pd.read_excel(tempfilename, headers=False)
idf.at[5,0] = Calc_Vre

# write to 2nd excel file
odf = pd.ExcelWriter(myfile, engine='xlsxwriter')
idf.to_excel(odf,index = False);
odf.save()

Вывод выглядит так:

   A          B          C          D          E
1  This file contains calculations that are used...
2  in verifying values...
3
4  Vre        Vim        Complex    Vl
5                        0          0.0000     5.2934
6

Я хотел, чтобы 5.2934 находился в ячейке A5, а не E5, и первая строка не была записана в выходной файл.когда я использовал

idf = pd.read_excel(tempfilename, headers=True)

я получаю:

   A          B          C          D          E
1  Title of fiUnnamed:1  Unnamed:2  Unnamed:3  Unnamed:4
2  This file contains calculations that are used...

Итак, мне нужно либо использовать openpyxl и каким-то образом подавить или не получить предупреждение, либо использовать панд, но получить правильные ячейкии первая строка назад.
Есть предложения?

...