python pandas导入excel遇到的问题

大宝贝儿的波妞的python pandas试错集

    • pandas 导入 excel
    • 用 with open 函数打开,出现了 decoding 问题
    • 怎么把字符串中的某个元素删除替换?
  • 原创,如果需要,请带上我的url, 蟹蟹!!

大宝贝儿的波妞的python pandas试错集

pandas 导入 excel

对于我这种小白来说,第一次导入个 excel 都会哭!!!

整了很久才有点头绪,经不住太菜了。

以下是为自己准备的日记,以及一些坑。

用 with open 函数打开,出现了 decoding 问题

import pandas as pd
import numpy as py

with open ( r'C:\Users\richa\Desktop\2019-05-31to2019-06-29keywordeffectreport.xlsm') as f:
	f.read()
	

1.首先,怎么快速复制文件的路径,这个我都查了好久,对于新手的我来说,苦逼啊。
终于在我的努力下!! 找到了一个好方法:

								 1.点击一下文件
								 2.按住shift
								 3.右键出现找到,复制路径:C:\Users\richa\Desktop\2019-05-31to2019-06-29keywordeffectreport.xlsm

导入开始,用with open对吧,不用担心关闭file
然后,就崩了崩了崩了。。。。。。
显示的都是什么:

	gb18030' codec can't decode byte 0xc4 in position 89: illegal multibyte sequence

我可拉倒吧,什么各种,编码错误,不管是什么,’ utf-8’, ‘gbk’,‘gb18030’,啥都不好使
据说一般来说,如果文件中有中文,会导致编码紊乱,那时候就要用encoding =‘某某某’,来解决:

with open ( r'C:\Users\richa\Desktop\2019-05-31to2019-06-29keywordeffectreport.xlsm','r',encoding='gb18030') as f:
	.....

我不就是列里有中文么??????
我就气得删除了中文列,换了如下:

import pandas as pd
import numpy as np
%xmode Plain
f = pd.read_excel(r"C:\Users\richa\Desktop\2019-05-31to2019-06-29keywordeffectreport.xlsm")

这多好啊,记住了 !

		f = pd.read_excel(r'path')
		

注意了,一定要有个r, 不过也有别方式,\换成//什么的,那个可以自己查。
这里path 就是你之前复制的路径

然后又遇见问题了,dataframe格式中的最后一列是period,但是value都是 ’21.04h’ 这种形式,输入 f.peiod.dtype 查看类型一看: object(对象)
python pandas导入excel遇到的问题_第1张图片

哦豁,我想要的是**21.04(float)**形式咋办???

因为进行数据分析,要的起码是数值吧!!!

怎么把字符串中的某个元素删除替换?

目标:’ 20.01h’ --> 20.1
思路

  1. 直接用replace(‘h’,’’),但是出现问题,这个函数不能直接改动 f 中的 f.period , 一般来说对整体进行切片后,干百年其中的元素,就能改变原始 dataframeinplace = True 的那种感觉)
  2. 先把 ‘21.04h’ 取出来,然后变成list,然后再join.但是你会发现虽然显示为 20.1,但是类型还是object,所以你还要用:

f = f.period = pd.DataFrame(f.period , dtype = np.float)

k=0
for i in f.period:
    a=list(i)
    a[a.index("h")]=''
    f.period[k]=("".join(a))
    k=k+1
f.period = pd.DataFrame(f.period , dtype = np.float)
f.info()

结果如下:
python pandas导入excel遇到的问题_第2张图片
python pandas导入excel遇到的问题_第3张图片
最终解决问题!!!!
具体细节,写得太累,暂时不写了。。

原创,如果需要,请带上我的url, 蟹蟹!!

你可能感兴趣的:(python)