使用pandas库读取数据

概况

        现尝试自己用pandas读取所需数据,记录步骤和错误

        pandas库本身的安装可以在settings的python编译器里搜索安装包进行安装,也可以找镜像源在终端通过pip管理工具安装,因为已经安装好,直接开始导入

图片:https://pandas.pydata.org/docs/getting_started/intro_tutorials/02_read_write.html

        在pandas的文档里有这样一个表图片,它体现了pandas能够读取哪些数据,也提供了方法,即在读取时可以用 pd.read_xx,并通过 pd.to_xx进行文件格式的转换(此处的xx均为文件格式,如 excel、csv、html、sql、json 等等)

开始导入:

        语法:data =pd.read_excel (r'C:\xxx\xxx.xlsx',sheet_name=['sheet1','sheet2']) :

常用参数:

  • sheet_name:指定所要读取的sheet,为 str 时指定的是sheet的名称,为 int 时指定的是sheet对应的索引,索引从 0 开始,为 None 时读取全部 sheet
  • header:设置表的头部信息,读取默认是 header=None 将第0行作为表头,也可以通过设定 header=整数 指定以哪一行为表头
  • names:name=['列名1','列名2',...] 指定每列的名称
  • usecols:useclos['列1','列2',...]可以指定想要读取的子列

  • index_col:指定某一列作为索引,为None时不指定索引,可以组合索引

        注:使用时间作为索引时可能需要使用数据类型转换

  • dtype:形如 dtype={"column_name":dtype},指定数据类型,如001可以对0进行保留
  • skiprows[id1,id2,...]、skipfooter=(int):不选取的行/倒数行

  • parse_date:设定某列为日期,与 date_parser 联用,指定日期格式

import pandas as pd
data1 = pd.read_excel(r'C:\Users\yysc\Desktop\月度\4月\会员\4月会员数据.xlsx',sheet_name='客单(不含专柜)',skipfooter=(2))
print(data1)    # 运行成功

查看数据概况:导数之前已经将数据处理了一下

data1.info()         
# 查看该DataFrame的概况,内容有列名、非空的行数、数据类型、内存使用情况等等
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4268 entries, 0 to 4267
Data columns (total 11 columns):
 #   Column  Non-Null Count  Dtype         
---  ------  --------------  -----         
 0   日期      4268 non-null   datetime64[ns]
 1   星期      4268 non-null   object        
 2   门店号     4268 non-null   int64         
 3   码洋      4268 non-null   float64       
 4   天气      332 non-null    object        
 5   实洋      4268 non-null   float64       
 6   客流量     4268 non-null   int64         
 7   客单数     4268 non-null   int64         
 8   交易数量    4268 non-null   int64         
 9   月份      4268 non-null   int64         
 10  门店      4267 non-null   object        
dtypes: datetime64[ns](1), float64(2), int64(5), object(3)
memory usage: 366.9+ KB

print(data1.head(3))    
print(data1.tail(3))    # 查看首、尾3行
print(data2.describe())    # 查看基本统计信息,会忽视文本类型的数据


          日期 星期   门店号       码洋   天气       实洋   客流量  客单数  交易数量  月份   门店
0 2023-01-31  二  1  10  NaN  10  1500  600  3000   1  龙华店
1 2023-01-31  二  2  20  NaN  20   900  300  1200   1  石岩店
2 2023-01-31  二  3  30  NaN  30   230  150   880   1  观澜店
             日期 星期   门店号        码洋   天气       实洋   客流量  客单数  交易数量  月份   门店
4265 2023-04-01  六  3008  38576.63  NaN  33978.0  1998  420  1165   4  惠州店
4266 2023-04-01  六  3009  42442.33  NaN  38670.2  3482  523  1339   4  佛山店
4267 2023-04-01  六  3010  11544.10  NaN  11005.0  1085  127   261   4  福州店


         日期            门店号  ...         交易数量           月份
count    ... 
mean     ... 
min      ...  
25%      ...  
50%      ...  
75%      ... 
max      ... 
std      ...




print(data2[data2['客流量']>1500].head)

          日期 星期   门店号           码洋   天气           实洋   客流量  客单数  交易数量  月份    门店
0 2023-01-31  二  1001  8105.611548  NaN  8105.611548  1577  859  2004   1   龙华店
2 2023-01-31  二  1003  9369.565960  NaN  9369.565960  1661  949  1258   1   观澜店
3 2023-01-31  二  1004  2778.225608  NaN  2778.225608  1997  748   795   1  香蜜湖店
6 2023-01-31  二  1008  8649.888791  NaN  8649.888791  1679  930  2166   1   宝安店
9 2023-01-31  二  1012  8500.474101  NaN  8500.474101  1718  864  2832   1   天虹店

至此,数据的导入就基本完成了

报错:

1、在导数之前遇到了缺少 openpyxl 库的问题,这是在python中读取和写入 Excel 文件(.xlsx、.xls)的库。按照这里的办法安装这个库就ok了,非常容易:https://blog.csdn.net/qq_49097653/article/details/124666442

2、SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

语法报错:(unicode错误)“UnicodeScape”编解码器无法解码位置2-3中的字节:截断\uxxxxxxx

data = pd.read_excel('C:\Users\xxx\xxx',sheet_name='xxx') 

print(data)
data.info()
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

报错原因:与windows不同,"\"号在python里有转义字符的作用,如 \n 用于换行等,所以在这里Python编译的时候将我们的路径解读成了转义字符

解决方法:在路径字符串前加上 "r" 使字符表示原来的意思(也可以将反斜杠 "\" 直接替换为正斜杠"/")

3、PermissionError: [Errno 13] Permission denied: 'C:\\Users\\xxx\\Desktop\\xxx'

权限错误:[Erno 13]权限被拒绝: 'C:\\Users\\xxx\\Desktop\\xxx'

PermissionError: [Errno 13] Permission denied: 'C:\\Users\\xxx\\Desktop\\xxx'

报错原因:原本以为确实是什么权限问题,不过后来发现是自己粗心没有指定文件,导致访问的一个目录,所以出现这种问题应该检查,看看文件是否被其他程序占用,或尝试以管理员身份运行文件

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

带带琪宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值