![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=1739271881-cixX2LsWRPw3VMWCdVCoYbyHZW93Sybh-0-9e04966d0c0a6f22f012f35ebfe9c255)
图1-41
一一问答
一一问:我这里有一些CSV格式的客户信息,可以转换为Excel的相应格式吗?
答:通过Excel可以很方便地导入多种格式的数据,当然也包括CSV格式的数据。下面介绍具体的操作方法。
图1-42显示了从某平台导出的CSV格式的客户信息,其中,“电话”数据中有手机号码,也有包含区号的固定电话号码,请注意,电话区号是以0 开始的,因此导入和处理这样的数据需要使用“文本”格式。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1356.jpg?sign=1739271881-73NJQUwjKEEuPSEKcV73UiFVMtsfZXhj-0-3e35ff44c4f02b44906cb7c58819055c)
图1-42
针对不同版本的Excel,导入数据的方式会有一些区别。图1-43显示的是Excel 2019的操作选项。我们可以从Excel菜单栏的“数据”选项卡中选择“从文本/CSV”命令以完成数据的导入。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1364.jpg?sign=1739271881-H7kicwbi2CimAhfEeptCoaA1ORkBLjML-0-82f0161ae4c0913d8edecb1b0b56105d)
图1-43
选择CSV文件后,Excel会自动分析数据,如图1-44所示。可以看到“电话”列的前导0并没有显示,这是因为“电话”数据被当作数值类型处理了。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1371.jpg?sign=1739271881-iXrS4qgI5958oqETlNprq3tKypx7S3Oo-0-cf1c6f4fa6ff2ddae8c09ac4e8a065be)
图1-44
点击“转换数据”按钮后进入Power Query编辑器。在这里可以修改“电话”的数据类型,默认为整型,定义为“Int64.Type”。我们将“电话”的数据类型修改为“type text”,即文本类型,此时,“电话”区号中的前导0就可以正确显示了。最后点击“关闭并上载”命令以确认数据导入,如图1-45所示。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1378.jpg?sign=1739271881-WPbdqHXjCk3kzJ0rxWl5GAp0p5RmuMs5-0-51a60ede204cdf869c7828e5b11a59c2)
图1-45
导入的数据默认启用了数据“筛选”功能,如图1-46所示。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1385.jpg?sign=1739271881-HOE5AqIYGZnu4wJv6D2yqWtlujfzBiXE-0-142374b2764e80015c27f6f039dd9774)
图1-46
而Excel 2016的导入过程与上述过程有一些区别。
第1步,点击Excel菜单栏的“数据”选项卡的“自文本”命令以打开导入向导,如图1-47所示。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1394.jpg?sign=1739271881-1AzhY26RM2Tz1KuexMlgbslivsti2w8k-0-3fde1490f23eb15f341bd9984b41ccd6)
图1-47
选择CSV文件后点击对话框右下角的“导入”按钮进入“文本导入向导”对话框,由于示例中的CSV数据使用了逗号分隔符并包含了列标题,所以这里需要选择“分隔符号”和“数据包含标题”,如图1-48所示。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1405.jpg?sign=1739271881-XRFIFoZz9pz1v9TCap7Al7gfoDJbTUXD-0-6cbbcd4d41250782c8ee6284d1b5094b)
图1-48
第2步,根据实际的数据格式选择分隔符,这里选择“逗号”作为数据分隔符,然后点击“下一步”按钮,如图1-49所示。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1414.jpg?sign=1739271881-4Fxviluw86DG9Tz0zNq6XWz56fe4piDl-0-6da9dcf37cc8407e3b1f448436db778f)
图1-49
第3步,设置各列的数据格式,如图1-50所示。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1422.jpg?sign=1739271881-A8H3oUR6QZUAOVMeuEkQLxQ6nOpNNcmm-0-f7a30b3b6e8aabd8800c8e7058f2f0ab)
图1-50
在此步骤中,需要将“客户代码”“昵称”和“电话”3列都设置为“文本”格式,并点击“完成”按钮。
第4步,在“导入数据”对话框中点击“确定”按钮以完成导入。操作结果如图1-51所示。可以看到,将“电话”列设置为“文本”格式后,电话区号中的前导0可以正确显示。
![](https://epubservercos.yuewen.com/5FAE69/28813164803286006/epubprivate/OEBPS/Images/tx1429.jpg?sign=1739271881-hbuIbdk3JnEdT3ui2sFUPpOA7kxBoZiX-0-09cf0a233d652d58ba1867b5c58469db)
图1-51
一一问答
一一问:将CSV数据导入Excel时,设置数据类型和格式似乎很关键?
答:的确是这样的。Excel会自动匹配数据格式,但在一些特殊情况下还是需要人工干预的,比如有前导0的数字(电话区号)、长数字(身份证号码)、浮点数、日期和时间等。