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