【问题标题】:Not able to read the desired excel file as output in Python无法在 Python 中读取所需的 excel 文件作为输出
【发布时间】:2017-05-11 20:38:02
【问题描述】:

我正在尝试在 Python(2.7.13) 中读取一个 excel 文件。为此,我创建了一个示例文件 Book1,其中包含以下条目 -

 import pandas as pd
 import numpy as np

 Book1 = pd.read_excel("D:\Python\Book1.xlsx")

 print(Book1.head())

编写上述程序并在Powershell中执行后,我得到了以下我不明白的输出。

第一列的 0,1,2 是什么,为什么 E 单元格的值从 7 yo 7.1 变为?谁可以给我解释一下这个?程序有问题吗?

如果上传的图片在这里不合适,我深表歉意。我不知道输入此类数据的任何其他方式。

【问题讨论】:

    标签: python excel powershell pandas output


    【解决方案1】:

    0,1,2 是行索引,因为您没有传递标题,所以第一行已自动转换为标题。

    现在,我们不能有两个具有相同名称的列,因此第二个 7 已转换为 7.1

    要纠正这个问题,您可以尝试:

    no_of_columns = 5 Book1 =pd.read_excel("D:\Python\Book1.xlsx",header=None,name=range(no_of_columns))

    请注意,您需要事先知道列数才能执行此操作。

    【讨论】:

      【解决方案2】:

      Pandas 正在读取第一行作为标题列。因为它想避免在命名列时发生冲突,所以第一个 7 列将保留其原始名称。第二个7 会产生碰撞,因此pandas 将其更改为7.1

      设置header=None。有关参数的完整说明,请参阅docs

      您可以指定列的names,如下所示。

      Book1 = pd.read_excel("D:\Python\Book1.xlsx", header=None, 
                            names=['col1', 'col2', 'col3', 'col4', 'col5'])
      

      0、1 和 2 是行的索引。您可以使用这些数字来引用一行。

      >>> Book1[0]
      1  3  7  2  7.1   <- column names
      2  2  3  2    1   <- values in row 0
      

      【讨论】:

        猜你喜欢
        • 2015-09-09
        • 1970-01-01
        • 1970-01-01
        • 2011-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-12
        • 1970-01-01
        相关资源
        最近更新 更多