python - panda read_excel index_col 似乎跳过了一行

标签 python excel pandas

我正在尝试从 excel 文件中获取多级索引和列 pandas 数据框,但奇怪的是,它似乎跳过了一行。考虑以下:
this is myfile
这是我的代码

df = pd.read_excel(r"https://buy-and-hold-strategy.s3.eu-central-1.amazonaws.com/example.xls",
                   skiprows=2,
                   sheet_name='Sheet1',
                   index_col=[0, 1],
                   header=[0, 1])
df.head()
返回
Out[46]: 
b        1          2     
sub      0    1     0    1
1 1                       
1 2  value  1.0   NaN  NaN
  3    NaN  NaN   NaN  NaN
2 1    NaN  NaN  text  2.0
  2    NaN  NaN   NaN  NaN
3 1    NaN  NaN   NaN  NaN
好像第一行数据1.1存储为索引名称:
 df.index.names
Out[49]: FrozenList([1, 1])

最佳答案

我认为您的 excel 文件的结构有误。也许您可以像这样调整 Excel 文件的结构:
Corrected structure of Excel file
之后,您可以像以前一样阅读文件:

df = pd.read_excel((r"https://buy-and-hold-strategy.s3.eu-central-1.amazonaws.com/example.xls",
               skiprows=2,
               sheet_name='Sheet1',
               index_col=[0,1],
               header=[0,1]) 
df.head()
你得到以下结果:
df.head()
b           1          2     
sub2        0    1     0    1
q sub1                       
1 1       NaN  NaN   NaN  NaN
2       value  1.0   NaN  NaN
3         NaN  NaN   NaN  NaN
2 1       NaN  NaN  text  2.0
2         NaN  NaN   NaN  NaN

关于python - panda read_excel index_col 似乎跳过了一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71237640/

相关文章:

python - 如何从多个列表的每个唯一组合创建 pandas 数据框?

python datetime 转换,日期可能包含空格

python - 是否有一种简洁的方法可以仅针对当前命令显示 pandas 中的所有行?

python - Python 方法中的执行顺序

python - 如何对多列使用 pandas 提取方法

excel - 如何使用perl将Excel单元格值在公式栏中显示为 "1/1/1901"并在相应单元格中显示与 "1901-01-01"相同

Java Apache POI 打开文件?

python - 在树莓派上自动运行命令

python - 为什么我的面部检测脚本突然停止工作?

c# - 将 excel 图表导出为图像