![](/img/trans.png)
[英]Python to extract the first sheet from all excel files in a folder
[英]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.