文件操作

此文主要用来记录文件操作时遇到的一些要注意的地方。

读取

  • 读excel时注意单元格的数据类型,比如一些数字,注意看其类型是文本还是数字。
    补充:excel里面左上角有绿色小三角的数字说明这个数字是文本类型(绿色小三角的本来含义是指这个表格中有错误)。把一个单元格设置成文本格式再输入数字时就会出现绿色小三角,此时这个数字在python中读出来也是字符串类型的。假如一个单元格中本来就有个数字,想把这个数字转换成文本类型的则要进行两步操作,一是选中该框,转成文本类型(注意,尽管它上面显示这个框是文本类型但还没转成功,左上角那个绿色小三角还没出现,而且这个框也能进行数值运算,另外此时在python里这个框读出来的也还是数字类型)。第二步是双击这个框进入输入模式,再按回车确定,然后左上角的绿色小三角就出现了(感觉这像个bug,excel好像是得让你重新确认输入才能更新成功)。如果有很多个框框需要转换类型总不能一个一个点吧,此时可以通过另外一种方法来达到这种效果,可以采用分列的方法。用一个数值里没有的分隔符进行分隔就相当于没分隔,但达到了前面重新输入的效果。(具体操作参考链接 http://www.pianshen.com/article/1680137009/)
    当然,除了对表格进行操作,在python中读取数据时也可加个强制类型转换以防万一。
  • Pandas的read_csv方法读取时最好指定dtype参数,否则它会根据你列的情况自动帮你确定类型,比如若某一列都是数字则会帮你全转成int64。有时你希望将数字存成字符串,或者有时你觉得不需要用int64来存很小的整数,不然会爆内存,例子可见
    官方文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注