python - 如何将具有多个行标题的 Excel 数据插入到 pandas 数据框中

标签 python python-3.x pandas

我正在尝试将非结构化 Excel 文件转换为结构化。我的标题跨两行(1 和 2),用于标题 SKU、数量和销售额

   A              B                  C             D
1                                    Qty          Sales 
2   SKU             
3   2345       Nail Varnish          2              $15 
4   2346       Eye liner             3              $18

转换为数据帧后我想要的输出应该如下所示

    SKU           Description        Qty          Sales             
0   2345         Nail Varnish         2             $15 
1   2346         Eye liner            3            $18

我尝试在 read_excel 函数中传递多行作为标题

df = pd.read_excel('D:\Sales.xlsx',header=[1,2])

但我得到的输出为

    Unnamed:0_level_0  Unnamed:1_level_0         Qty               Sales  
         SKU                 SKU           Unnamed:2_level_1   Unnamed:3_level_1

  0   2345             Nail Varnish             2                      $15
  1   2346             Eyeliner                 3                      $18

标题 SKU 也应用于第二列。请指导如何解决此问题。

最佳答案

如果您事先知道列名称,那么您可以这样做

df = pd.read_excel('D:\Sales.xlsx', header=None, names=['SKU','Description','Qty','Sales'], skiprows=2)

说明

  • header=None 不会从 Excel 文件中获取默认标题
  • names 将按顺序将列名称分配给您的数据框
  • skiprows 将跳过 Excel 中的前 2 行。

关于python - 如何将具有多个行标题的 Excel 数据插入到 pandas 数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55361711/

相关文章:

python - 在数据帧列中填充键入 NA 的字符串时出错

python - 具有大量条件的 pandas read_hdf

python - 将数据框值汇总到其上方的单元格中

python - Django Haystack SOLR 中的排序顺序

python - 使用 numba 加快拍摄速度?

python - 如何发送电子邮件附件?

python - Tkinter打开文件窗口,文件扩展名区分大小写

java - 如何一致地访问文件?

python - python请求中的OpenSSL错误

python - 将嵌套的 JSON 数据传递为 Html 表格式