python - Python pandas excel输出不是确定的形式
问题描述
我有一个 100 张的 Excel 文件。我需要从第 7 行开始从每个工作表列 P 中提取数据并创建一个新文件,其中所有提取的数据都在同一列中。在我的输出文件中,数据位于不同的列中,即(表 2 的数据位于 R 列,表 3 的数据位于 B 列)
如何使新输出 Excel 中同一列中的数据?谢谢你。
附言。将所有工作表的 P 列数据组合成单个工作表中的单个列对我来说就足够了
import pandas as pd
import os
Flat_Price = "Flat Pricing.xlsx"
dfs = pd.read_excel(Flat_Price, sheet_name=None, usecols = "P", skiprows=6, indexcol=1, sort=False)
df = pd.concat(dfs)
print(df)
writer = pd.ExcelWriter("Output.xlsx")
df.to_excel(writer, "Sheet1")
writer.save()
print (os.path.abspath("Output.xlsx"))
解决方案
您需要header=None
默认 0 列名的参数:
dfs = pd.read_excel(Flat_Price,
sheet_name=None,
usecols = "P",
skiprows=6,
indexcol=1,
header=None)
然后可以从 的第一级中提取数字MultiIndex
,转换为整数并按以下方式排序sort_index
:
df =df.set_index([df.index.get_level_values(0).str.extract('(\d+)',expand=False).astype(int),
df.index.get_level_values(1)]).sort_index()
推荐阅读
- typescript - 使用 Typescript 将通用类型添加到 vue.js 中的组件
- javascript - 在新选项卡中打开网页并自动提供表单
- sql - CTE 和临时表性能问题
- qt - Windows 10 1809 更新后,Qt Creator 不再在应用程序输出窗口中显示控制台输出
- linux - 在 Plink 中调用 PuTTY 会话
- arcgis - 即使我已登录且文件来自我的门户,也无法使用 BuildingSceneLayer 查看 ArcGIS 非共享场景图层
- reactjs - 如何通过传递道具来调用模态
- r - 你知道一种更优雅的方法来计算前几天的事件数量吗?
- python - 在 pandas 数据框中过滤包含具有连续值的列表的行
- postgresql - SQL 触发器如何影响性能?