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