输入或导入数据

Excel内置Python可以处理Excel输入或导入的中小型数据,也可以处理Power Query导入的大型数据,或者中小型数据。[大谦Excel,dqexcel点com]

Excel输入或导入数据

可以直接在Excel工作表中输入数据,或者将数据从其他工作表或工作簿中复制过来。对于文件数据,可以在Excel中通过连续单击菜单项【文件】–【打开】–【浏览】打开“打开”对话框,如图2-1所示。在对话框中,通过浏览找到文件所在的目录,然后打开“取消”按钮上面的下拉式列表框,在弹出的列表中选择要打开的文件的数据类型,选择文件名进行导入。如图2-1所示,用Excel可以打开很多类型的数据文件。

Document Image

图2-1 用Excel导入数据

从Power Query导入数据

对于大型数据,如百万行、千万行以上的数据,需要用Power Query进行导入。用Power Query导入数据,在Excel的“数据”功能区单击“获取数据”按钮,展开对应的菜单,如图2-2所示。结合不同的菜单选项,可以导入不同类型的数据。

Document Image

图2-2 用Power Query导入数据

下面导入一个已有的Excel文件中的数据。首先将本书示例文件所在的Samples目录复制到你的电脑。在Excel中连续单击菜单项【数据】–【获取数据】–【来自文件】–【从Excel工作簿】打开“导入数据”对话框,浏览找到对应的Excel文件,这里是ch04目录下的“身份证号.xlsx”文件。单击“导入”按钮导入数据。

单击“导入”按钮后显示图2-3所示的对话框,对话框中列出了文件中所有的工作表名称及选定工作表的数据。选择要导入的工作表数据,单击“转换数据”按钮对数据进行转换,或者单击“加载”按钮直接加载数据。

Document Image

图2-3 选择数据进行转换或加载

如果单击“转换数据”按钮对数据进行转换,选定的工作表数据会显示在Power Query编辑器中,如图2-4所示。编辑器提供了很多工具对数据进行转换操作,如合并、拆分、列操作、行操作、值操作等。如果你对Power Query很熟,可以用这些工具转换数据。如果不熟,但是对Python的pandas包比较熟,可以使用接下来介绍的Excel内置Python进行处理。所以,Excel内置Python实际上提供了用Power Query处理数据的另外一种解决方案。

在功能上,Power Query和Python的pandas包是对标的,它们都是为处理大型数据而生的,计算速度都比较快,都封装了很多处理数据的工具或方法。

Document Image

图2-4 Power Query编辑器

在Power Query编辑器中单击“关闭并上载”按钮,加载数据。如图2-5所示,Excel中在当前工作表前面添加了一个新的工作表,工作表的名称为图2-3中选定的表的名称。注意,导入的数据是以超级表的形式显示的,进行数据引用时会有特别之处。工作表的右侧显示一个“查询&连接”面板,显示相关信息。

Document Image

图2-5 加载数据

下面举一个导入OData源数据的例子。

在Excel中连续单击菜单项【数据】–【获取数据】–【自其他源】–【从OData源】打开一个对话框如图2-6所示。在对话框中的URL文本框中输入数据源对应的网址,本例中输入:https://services.odata.org/northwind/northwind.svc。

Document Image

图2-6 输入数据源对应的网址

单击“确定”按钮,打开图2-7所示的对话框。在“显示选项”列表框中选择Categories表。

Document Image

图2-7 选择表

单击“加载”按钮,在Excel的当前工作表前面添加一个名为Categories的新工作表,如图2-8所示。

Document Image

图2-8 加载数据