python - 如何在 python 中使用文件路径作为输出中的列从 excel 文件中读取数据
问题描述
import pandas as pd
import numpy as np
import glob
import os
all_data = pd.DataFrame()
rows = 0
for file in glob.glob("Ranking*.xlsx"):
xls = pd.ExcelFile(file)
sheets = xls.sheet_names
for sheet_name in sheets:
df = pd.read_excel(file, sheet_name='Output',header= 3)
all_data = all_data.append(df, ignore_index = True)
output_tab_data = all_data[['Supplier','Tariff','Region']]
output_tab_data_no_NA = output_tab_data[output_tab_data.Supplier.notnull()]
output_tab_data_no_NA ['file_source_name'] = os.path.abspath(file)
print(output_tab_data_no_NA)
上面的代码目前生成这些列 - 'Supplier','Tariff','Region'
但我希望它包含一个名为 file_source_name 的 EXTRA COLUMN - 这是加载的每个 excel 文件的 excel 文件名路径
解决方案
import pandas as pd
import numpy as np
import glob
import os
all_data = pd.DataFrame() #creating an empty data frame
rows = 0
for f in glob.glob("../<path where python is>/*.xlsx"): #import every file that ends in .xls
xls = pd.ExcelFile(file)
sheets = xls.sheet_names # To get names of all the sheets
for sheet_name in sheets:
df = pd.read_excel(file, sheet_name='Output',header= 3) #start copying data from line 4 in each file
df['file_source_name'] = f #append individual file name/file path
all_data = all_data.append(df, ignore_index = True) #put all the copied data together
output_tab_data = all_data[['Supplier','Tariff','Region','file_source_name']]
output_tab_data_no_NA = output_tab_data[output_tab_data.Supplier.notnull()]
print(output_tab_data_no_NA)
推荐阅读
- xml - 我们如何在 XSD 中定义任何函数或任何逻辑是可能的?需要在 XSD 中验证 XML 文件的可能性
- batch-file - windows根据条件将文件批量拆分为两个
- javascript - 为 arcgis javascript 插入“esri/dijit/analysis/AggregatePoints”或相关 esri 数字小部件功能所需的理解
- html - 导航栏下拉菜单不展开
- node.js - 什么是用于创建用户的好模式?
- javascript - 为什么它返回不同的结果?(es6箭头函数)
- android - Flutter 无法在 Flutter 上构建发布 APK 文件:1.12.13+hotfix.8
- c - 在等待通过 scanf() 输入之前没有通过 SSH 输出
- mysql - Mysql Query 使用单个查询从三个表中获取记录
- html - 使用 Display Flex 保持方向