- Excel+Python轻松掌握数据分析
- 曹化宇
- 1069字
- 2025-02-17 10:35:02
1.6 数据交换——Excel和CSV
在处理数据的过程中,我们经常需要将数据在不同格式之间进行转换,如Excel就可以导出或导入多种格式的数据。本节将介绍数据在Excel和CSV格式之间的转换。
Excel可以直接将表单数据保存为CSV格式。方法是在“另存为”对话框的“保存类型”下拉列表中选择“CSV(逗号分隔)(*.csv)”,如图1-41所示。

图1-41
一一问答
一一问:我这里有一些CSV格式的客户信息,可以转换为Excel的相应格式吗?
答:通过Excel可以很方便地导入多种格式的数据,当然也包括CSV格式的数据。下面介绍具体的操作方法。
图1-42显示了从某平台导出的CSV格式的客户信息,其中,“电话”数据中有手机号码,也有包含区号的固定电话号码,请注意,电话区号是以0 开始的,因此导入和处理这样的数据需要使用“文本”格式。

图1-42
针对不同版本的Excel,导入数据的方式会有一些区别。图1-43显示的是Excel 2019的操作选项。我们可以从Excel菜单栏的“数据”选项卡中选择“从文本/CSV”命令以完成数据的导入。

图1-43
选择CSV文件后,Excel会自动分析数据,如图1-44所示。可以看到“电话”列的前导0并没有显示,这是因为“电话”数据被当作数值类型处理了。

图1-44
点击“转换数据”按钮后进入Power Query编辑器。在这里可以修改“电话”的数据类型,默认为整型,定义为“Int64.Type”。我们将“电话”的数据类型修改为“type text”,即文本类型,此时,“电话”区号中的前导0就可以正确显示了。最后点击“关闭并上载”命令以确认数据导入,如图1-45所示。

图1-45
导入的数据默认启用了数据“筛选”功能,如图1-46所示。

图1-46
而Excel 2016的导入过程与上述过程有一些区别。
第1步,点击Excel菜单栏的“数据”选项卡的“自文本”命令以打开导入向导,如图1-47所示。

图1-47
选择CSV文件后点击对话框右下角的“导入”按钮进入“文本导入向导”对话框,由于示例中的CSV数据使用了逗号分隔符并包含了列标题,所以这里需要选择“分隔符号”和“数据包含标题”,如图1-48所示。

图1-48
第2步,根据实际的数据格式选择分隔符,这里选择“逗号”作为数据分隔符,然后点击“下一步”按钮,如图1-49所示。

图1-49
第3步,设置各列的数据格式,如图1-50所示。

图1-50
在此步骤中,需要将“客户代码”“昵称”和“电话”3列都设置为“文本”格式,并点击“完成”按钮。
第4步,在“导入数据”对话框中点击“确定”按钮以完成导入。操作结果如图1-51所示。可以看到,将“电话”列设置为“文本”格式后,电话区号中的前导0可以正确显示。

图1-51
一一问答
一一问:将CSV数据导入Excel时,设置数据类型和格式似乎很关键?
答:的确是这样的。Excel会自动匹配数据格式,但在一些特殊情况下还是需要人工干预的,比如有前导0的数字(电话区号)、长数字(身份证号码)、浮点数、日期和时间等。