Python pandas excel输出不是决定形式

标签 python excel pandas

我有一个包含 100 页的 Excel 文件。我需要从第 7 行开始的每个工作表 P 列中提取数据,并创建一个新文件,其中所有提取的数据都在同一列中。在我的输出文件中,数据位于不同的列中,即(工作表 2 的数据位于 R 列,工作表 3 的数据位于 B 列)

如何使新输出Excel中的数据位于同一列?谢谢。

ps。将所有工作表的 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()

关于Python pandas excel输出不是决定形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52733542/

相关文章:

python - 如何使用pyAudio获得左输出

python - 如何将图例绘制到绘图 Canvas 外的多列中?

python - 为什么我无法更新字典中的 test__user_id 键?

Python 不向多个地址发送电子邮件

excel - PDF 数据和表格抓取到 Excel

vba - 获取日期模式 yyyy-MM-dd HH :mm:ss z with VBA

python - 我需要比较同一数据框中的列并对它们进行排名

python - 将字符串分成 block ,然后将这些 block 传递给一个新对象。 python 3

python - 如何查看设备文件挂载到哪里?

vba - 删除 CSV(Excel) 中除第 n 行之外的所有行