Чтение файлов Excel из папки, извлечение ячейки из листа-1 и добавление значений в новый лист Excel - PullRequest
0 голосов
/ 03 марта 2019

У меня есть около 100 файлов Excel в папке.Мне нужно извлечь ячейку, скажем, имя столбца D6 из листа 1 файлов Excel, и вывести его в новый файл / лист Excel.У меня есть несколько SO вопросов, но я не смог найти желаемый результат.Вот в чем моя проблема, когда я запускаю следующую программу`

TypeError: cannot concatenate a non-NDFrame object

`

import os
import pandas as pd
import xlrd
import xlwt

files = os.listdir(path)
files


all_data = pd.DataFrame()

for file in files:
    wb = xlrd.open_workbook(file)
    sheet = wb.sheet_by_index(0)
    df = sheet.cell_value(5,3)
    all_data.append(df,ignore_index=True)

writer = pd.ExcelWriter('output.xlsx', engine='xlsxwriter')
all_data.to_excel(writer,'sheet1')
writer.save()

1 Ответ

0 голосов
/ 03 марта 2019

Ваша ошибка говорит о том, что вы можете объединить только один кадр данных с другим.когда вы читаете ячейку с xlrd, вы не получаете объект df.так что либо сделайте одну ячейку в качестве фрейма данных, либо сохраните ее временно и сделайте фрейм данных впоследствии.

что-то вроде этого (непроверенное) должно сделать это.

all_data = [] # list
for file in files:
    df = pd.read_excel(file, sheetname='sheet-1')
    all_data.append(df.iloc[5,3])
all_data = pd.DataFrame(all_data) # dataframe
all_data.to_excel('all_data.xlsx')

или можно использовать другие библиотеки какхорошо, чтобы сделать то же самое, например, openpyxl.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...