繁体   English   中英

从文件夹中读取excel文件,从sheet-1中提取单元格并将值附加到新的excel表中

[英]Read excel files from a folder, extract a cell from sheet-1 and append values to a new excel sheet

我在一个文件夹中有大约 100 个 excel 文件。 我需要从excel文件的sheet-1中提取一个单元格,比如名称列D6 ,并将其输出到一个新的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()

您的错误表明您只能将一个数据帧与另一个数据帧连接起来。 当您使用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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM