pandas入门笔记1——文件读写

I/O 工具主要是提供数据和文件读取的函数,Pandas支持常用的文本格式数据,二进制数据,SQL数据。
常用函数:

			读写csv                    read_csv 和 to_csv   
			读写Excel                  read_excel 和 to_excel   
			读写数据库                  read_sql 和 to_sql

read函数读取文件数据,返回pandas对象【Series】和【DataFrame】,to函数写入数据到csv,excel,sql等文件和数据库。
更多函数详情请见:pandas 中文手册-IO工具

读写Excel

import pandas as pd
## 打开Excel和打印Excel前10行数据
df=pd.read_excel(r'C:\Users\Administrator\Desktop\测试数据.xlsx',sheet_name='测试数据')  
print(df.head(10))
## 保存Excel
"方法一:"
df.to_excel(r'C:\Users\Administrator\Desktop\保存数据1.xlsx',sheet_name='测试数据',index=False')
"方法二:"
writer=pd.ExcelWriter(r'C:\Users\Administrator\Desktop\保存数据2.xlsx')
df.to_excel(writer,sheet_name='test1',index=False)
df.to_excel(writer,sheet_name='test2',index=False)
writer.save()

方法一仅输出一张sheet,方法二可以输出多张sheet,当多个数据需要输出到同一个工作簿时选择方法二

读写txt

import pandas as pd
path=r'C:\Users\Administrator\Desktop\FAStest.txt'
data=pd.read_table(path,'utf-8','\t')
print(data)
data=pd.read_csv(path,'utf-8','\t')
data=pd.read_csv(path,'utf-8','\t',usecols=range(3,27))
print(data)
注意:
    1.read_csv和read_table的区别在于separator分隔符。csv是逗号分隔值,默认按照','分割的数据。read_table的分隔符是tab,
 默认'\t'来分割数数据,usecols取数据的几列到几列的数据。
    2.读取txt文件的时候经常会遇到以下报错
      'utf-8' codec can't decode byte 0xff in position 0: invalid start byte------ utf-8 不能解码txt文件
   百度解决方案的时候通常建议改成'gbk',但是还是会存在报错,造成这样报错的原因是文件的编码方式和读取用的解码方式不一致导致的。
        解决方法一:修改成文件的编码方式
        解决方式二:更改txt的编码方式,打开txt文档——另存为——修改编码方式
     
    3.编码格式介绍
      ASCII码:使用单字节编码,所以范围基本只有英文字母、数字和一些特殊字符;只有256个字节
      Unicode:能够表示全世界的所有字符
      GBK:只用来编码汉字的,GBK全称《汉字编码扩展规范》双字节编码。
      UTF-8:针对Unicode的可变字符编码,又称万能码。
      

读写csv

import pandas as pd
path=r'C:\Users\Administrator\Desktop\FAStest.csv'
data=pd.read_csv(path,encoding='utf-8')----读取CSV文件
data.to_csv(r'C:\Users\Administrator\Desktop\test2.csv') ---写入CSV文件


读写数据库

db = cx.connect('o_wuliu/o_wuliuqwe@10.60.44.22:1621/HQYGEDW')  #连接数据库
cr=db.cursor()
sql='''select* from MY_CDP_B_AREA '''
cr.execute(sql)
df=pd.read_sql(sql,db)
conn = create_engine('o_wuliu/o_wuliuqwe@10.60.44.22:1621/HQYGEDW')
a.to_sql('my_index_database',conn,if_exists='append',index=False,dtype={'周期': types.VARCHAR(255),
                                                                      '类型': types.VARCHAR(255),
                                                                     '指标类型':types.VARCHAR(255),
                                                                      '指标值':types.FLOAT()})
db.close() ----【适用于Oracle和MySQL批量写入】

写入hive数据库方法:python 向hive传入数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值