暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Pandas使用总结(一):数据读写

一叶扁舟 2020-06-28
3377

pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

image.png

本节首先总结Pandas在数据读写上的应用。Pandas可以读取和写入数据库、excel、csv、txt等文件。

一、数据库

  • 读取
import pandas as pd
from sqlalchemy import create_engine
db = create_engine("mysql+pymysql://用户名:用户密码@localhost:端口号(3306)/使用的数据库名?charset=utf8")
sql = "select * from text"
df = pd.read_sql(sql, db, index_col="index") # index_col设置索引列,默认自动生成索引
  • 写入
sql.to_sql(df, name='test', con=db,
                 if_exists="append",# 如果表存在:append追加 replace删除原表新建并插入 fail不插入
                 index=False # 设置df的索引不插入数据库
                 )

二、Excel

  • 读取
df = pd.read_excel(r'file_path',
                   sheet_name='指定sheet,默认第一个',
                   index=False, # 不读取excel中的索引,自动生成新索引
                   index_col=0, # 将第0列设置为索引
                   header=0, # 将第n行设置为columns, 默认是0,可以设置为None(自动生成0-n的columns)
                   usecols=[0, 2] # 只导入0, 2列
                   )
  • 写入
'''
按照不同sheet写入
'''
# 创建表格
excelWriter = pd.ExcelFile('file_path/test.xlsx')
# 写入表格
df.to_excel(
    excelWriter,
    sheet_name='',
    insex=False, # 设置df的索引不传入excel
    encoding='utf-8',
    columns=['a', 'b'], # 指定某列写入excel
    na_rep=0, # 缺失值处理(填充为0)
    inf_rep=0, # 无穷值处理(填充为0)
)
# 保存(不保存不生效)
excelWriter.save()
'''
直接写入
'''
df.to_excel('file_path/test.xlsx') # 参数:insex、encoding、columns、na_rep、inf_rep

三、csv

  • 读取
df = pd.read(
    r'file_path/test.csv',
    sep="", # 指定分隔符,默认是逗号
    nrows=2, # 指定读取行数
    encoding='utf-8',
    engine='python', # 当路径存在中文会报错,加上这个即解决
    usecols=[0, 2], # 仅导入0, 2列
    index_col=0, # 将第0列设置为索引
    header=0 # 将第n行设置为columns, 默认是0,可以设置为None(自动生成0-n的columns)
)
  • 写入
df.to_csv(
    r'file_path/test.csv',
    index=False, # 索引列不写入
    columns=['a', 'b'], # 指定写入的列
    sep=',', # 设置分隔符(默认是逗号)
    na_rep=0, # 缺失值填充为0
    encoding='utf-8',
    #inf_rep=0 没有这个参数
)

四、txt

  • 读取
pd.read_table(r'file_path/test.txt', sep='') #也可以用来读取csv文件
  • 写入
df.to_csv(
    r'file_path/test.csv',
    index=False, # 索引列不写入
    columns=['a', 'b'], # 指定写入的列
    sep=',', # 设置分隔符(默认是逗号)
    na_rep=0, # 缺失值填充为0
    encoding='utf-8',
    #inf_rep=0 没有这个参数
)
最后修改时间:2020-07-08 18:36:04
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论