![Excel+Python轻松掌握数据分析](https://wfqqreader-1252317822.image.myqcloud.com/cover/480/49051480/b_49051480.jpg)
1.6 数据交换——Excel和CSV
在处理数据的过程中,我们经常需要将数据在不同格式之间进行转换,如Excel就可以导出或导入多种格式的数据。本节将介绍数据在Excel和CSV格式之间的转换。
Excel可以直接将表单数据保存为CSV格式。方法是在“另存为”对话框的“保存类型”下拉列表中选择“CSV(逗号分隔)(*.csv)”,如图1-41所示。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1344.jpg?sign=1739564318-kk2S0EZLaV8UpqjZ49mFp33kAE3DOUaH-0-21be2f768b947535e1327f9c96dd5ab5)
图1-41
一一问答
一一问:我这里有一些CSV格式的客户信息,可以转换为Excel的相应格式吗?
答:通过Excel可以很方便地导入多种格式的数据,当然也包括CSV格式的数据。下面介绍具体的操作方法。
图1-42显示了从某平台导出的CSV格式的客户信息,其中,“电话”数据中有手机号码,也有包含区号的固定电话号码,请注意,电话区号是以0 开始的,因此导入和处理这样的数据需要使用“文本”格式。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1356.jpg?sign=1739564318-f6z4P7Rraqoyh6lFQbxzgBjJaB0TClfO-0-7ddf2dc29fc8f17fdbd85961379f50fe)
图1-42
针对不同版本的Excel,导入数据的方式会有一些区别。图1-43显示的是Excel 2019的操作选项。我们可以从Excel菜单栏的“数据”选项卡中选择“从文本/CSV”命令以完成数据的导入。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1364.jpg?sign=1739564318-mfC9fijJjf6LQ6oYuhXx4DW1cmHUWVqq-0-9a05ece8d17677baefd3894d598afba5)
图1-43
选择CSV文件后,Excel会自动分析数据,如图1-44所示。可以看到“电话”列的前导0并没有显示,这是因为“电话”数据被当作数值类型处理了。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1371.jpg?sign=1739564318-qoAIEhNTMbVpqDqXeaXkx3LAA0MDV20L-0-d8ee9f669ce7b5eb96d374061c58b572)
图1-44
点击“转换数据”按钮后进入Power Query编辑器。在这里可以修改“电话”的数据类型,默认为整型,定义为“Int64.Type”。我们将“电话”的数据类型修改为“type text”,即文本类型,此时,“电话”区号中的前导0就可以正确显示了。最后点击“关闭并上载”命令以确认数据导入,如图1-45所示。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1378.jpg?sign=1739564318-oxZwWqDOtIZGcoMEn8o67I8nqXOARUyc-0-c0180018d4b5e58574baa2dab79faa6d)
图1-45
导入的数据默认启用了数据“筛选”功能,如图1-46所示。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1385.jpg?sign=1739564318-9IoN2z4ipKej2gxncASKKhE78jYoFZox-0-dc91c0902eb9bd28e11c560cb04fa875)
图1-46
而Excel 2016的导入过程与上述过程有一些区别。
第1步,点击Excel菜单栏的“数据”选项卡的“自文本”命令以打开导入向导,如图1-47所示。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1394.jpg?sign=1739564318-TwbR4TWo68fztMfXjyEwaLTz64IrI0iK-0-f60bbec29f2a2f3d0ebe22d031e7b090)
图1-47
选择CSV文件后点击对话框右下角的“导入”按钮进入“文本导入向导”对话框,由于示例中的CSV数据使用了逗号分隔符并包含了列标题,所以这里需要选择“分隔符号”和“数据包含标题”,如图1-48所示。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1405.jpg?sign=1739564318-7PaKyhdZTlWxLkOIbFSLYAluUb1xsQfL-0-76375f354abf3a777e59fccc4e8b608e)
图1-48
第2步,根据实际的数据格式选择分隔符,这里选择“逗号”作为数据分隔符,然后点击“下一步”按钮,如图1-49所示。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1414.jpg?sign=1739564318-PLFcYoMe7Vf5GtXtWilkBXUcaXaCCuuc-0-98e64fc009f8b76495fa8957d704c471)
图1-49
第3步,设置各列的数据格式,如图1-50所示。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1422.jpg?sign=1739564318-H5MmZqNZ3D1BQigBXeahXLEPy4YRSKV9-0-fc794983f21b16d4ce3e4de443542154)
图1-50
在此步骤中,需要将“客户代码”“昵称”和“电话”3列都设置为“文本”格式,并点击“完成”按钮。
第4步,在“导入数据”对话框中点击“确定”按钮以完成导入。操作结果如图1-51所示。可以看到,将“电话”列设置为“文本”格式后,电话区号中的前导0可以正确显示。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1429.jpg?sign=1739564318-D6V9vvCKD27UB7DM31UAySj3VePA2dwl-0-4f9d4f5ed0aea17ae951d13538c7113e)
图1-51
一一问答
一一问:将CSV数据导入Excel时,设置数据类型和格式似乎很关键?
答:的确是这样的。Excel会自动匹配数据格式,但在一些特殊情况下还是需要人工干预的,比如有前导0的数字(电话区号)、长数字(身份证号码)、浮点数、日期和时间等。