Как использовать python для добавления данных в конкретную ячейку в существующую таблицу Excel?

1

Я являюсь новым стартером для Python и в настоящее время занимаюсь анализом данных.

Я распространил несколько опросов, используя тот же формат. Я хочу суммировать данные из той же ячейки (например, А1) из разных таблиц (скажем, у меня 100 опросов), но не знаю, как этого достичь. Я узнал, что функция excel sum может суммировать данные с разных листов, но не работает, когда они находятся в разных файлах excel.

Я попытался использовать Python, чтобы суммировать это и экспортировать в новый Excel с точно таким же форматом. Но я столкнулся с проблемой добавления данных в конкретную ячейку к существующему файлу. Я использовал openpyxl для этого, но они не могли прочитать xls файл, и я не могу изменить свой файл на xlsx.

У вас есть идеи решить эту проблему или как быстро агрегировать данные из разных таблиц и вывести их в конкретную ячейку?

from openpyxl import load_workbook;
book = load_workbook('C:\Template.xls')
sheet = load_workbook.active
sheet['A1'] = sum(Annual_data
book.save('C:\Template.xls')

Это похоже на то, что у вас есть 100 таблиц с таким же форматом, как указано ниже, и я хочу суммировать все B2 из 100 таблиц и выводить их в другую таблицу в том же формате.

Теги:
excel-vba
excel

1 ответ

0
Лучший ответ

Как я уже упоминал в комментарии выше, я предлагаю вам использовать панды. Итак, вот сценарий, который должен делать то, что вы намереваетесь достичь. Здесь я предполагаю, что сумма столбцов из разных шаблонов хранится в переменной sum_value:

import pandas as pd
path = 'C:\\Template.xls'
#if you have a header in your input excel document, then remove the header part in the line below
data = pd.read_excel(path, header=None)
#the coordinates of the cell where you want to write in your data
row_pos = 4
col_pos = 5
data.iloc[row_pos, col_pos] = sum_value
data.to_excel('out.xls')
  • 0
    Бесконечно благодарен. Data.to.excel работает, но он также нарушает весь формат моего Excel. Вы бы знали, как это исправить.
  • 0
    Мой код выглядит следующим образом: data = pd.read_excel ('C: \\ Template.xls') data.iloc [4, 5] = sum_value data.to_excel ('C: \\ Template.xls')
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню