【发布时间】:2019-06-27 19:48:54
【问题描述】:
我想解析多个 .xlsx 文件,仅读取特定工作表名称“Target”(文件名格式:“name_20190626.xlsx”,文件名中带有版本日期),从文件名中提取版本日期,添加此日期,即 20190626作为每个文件中每一行的新列,并使用所有 .xlsx 文件中的选定列 [Col 0,1,-1] 创建一个数据框。
我设法打开正确的工作表,提取日期并加载我想要的列,当我尝试添加新列时,我收到错误“ValueError:值的长度与索引的长度不匹配”。
all_data = pd.DataFrame()
for f in glob.glob("01_Historical_files/*.xlsx"):
print(f)
""" df = pd.read_excel(f) """
date = re.findall("(\d{8})", f)
print(date)
xl = pd.ExcelFile(f)
df = xl.parse('STATIC').iloc[:,[0,1,-1]]
df.assign(score_date = date)
df.head()
all_data = all_data.append(df,ignore_index=True)
预期输出(包含所有行):
- 第 1 列包含同一文件所有行的版本日期
- 包含“重复数据删除因子”的第 2 列 - 如果我已经可以过滤数据框中等于 1 的值,那就太好了。
- 第 3 列是唯一 ID
- 第 4 列包含分数的最后一列
【问题讨论】:
标签: python