比较系统的学习 pandas (2)

pandas 数据读取与输出方法和常用参数

1、读取 CSV文件

pd.read_csv("path+name",step,encoding="gbk",header="infer",name=[],skip_blank_lines=True,comment=None)

path : 文件路径

step : 指定分隔符,默认为 逗号

encoding  : 文件内容的编码格式,,通常指定为'utf-8'

header  : 指定第几行是表头,默认会自动推断把第一行作为表头。header =None ,没有表头

names: 列表,可选。指定列名的列表,如果数据文件中不包含列名,通过names指定列名,若指定则应该设置header=None。列名列表中不允许有重复值。

comment:  字符串,默认值None。设置注释符号,注释掉行的其余内容。将一个或多个字符串传递给此参数以在输入文件中指示注释。注释字符串与当前行结尾之间的任何数据都将被忽略。

 na_rep: 字符串,默认值''(空字符)。缺失值表示方式


pd.read_csv('data/data.csv',encoding="gbk") # 注意目录层级

pd.read_csv('data.csv') # 如果文件与代码文件在同一目录下

pd.read_csv('data/my/my.data') # CSV文件的扩展名不一定是.csv

# 本地绝对路径
pd.read_csv('/user/gairuo/data/data.csv')

# 使用URL
pd.read_csv('https://www.gairuo.com/file/data/dataset/GDP-China.csv')


# 数据分隔符默认是逗号,可以指定为其他符号

pd.read_csv(data, sep='\t') # 制表符分隔tab
pd.read_table(data) # read_table 默认是制表符分隔tab
pd.read_csv(data, sep='|') # 制表符分隔tab
pd.read_csv(data,sep="(?<!a)\|(?!1)", engine='python') # 使用正则表达式

pd.read_csv(data, names=['列1', '列2'], header=None)

2、输出到 csv 文件

data.to_csv("path+name",sep=",",na_rep="",index=True,header=True,encoding="utf-8,compression=None)

path  : 输文件出路径

sep  :指定分隔符,默认为 逗号

index  :是否将索引一起导入,一般需要设置为 False

header : 如果不需要表头,可以将 header 设置为 False,

encoding  :  输出文件的编码格式

compression   :字符串或字典,默认值'infer'。用于磁盘数据的实时解压缩。可选值:{'infer', 'zip', 'gzip', 'bz2', 'zstd', 'tar'}。如果使用'infer',且如果filepath_or_buffer是以‘.gz’, ‘.bz2’, ‘.zip’, ‘.xz’结尾的字符串,则使用gzip、bz2、zip或xz,否则不进行解压缩。如果使用‘.zip’,则ZIP文件必须只包含一个要读取的数据文件。设置为None,表示不解压。如果文件较大,可以使用compression进行压缩

df.to_csv('data/done.csv') # 可以指定文件目录路

df.to_csv('done.csv', index=False) # 不要索引





# 创建一个包含out.csv的压缩文件out.zip
compression_opts = dict(method='zip',archive_name='out.csv')
df.to_csv('out.zip', index=False,compression=compression_opts)

3、读取 excel 文件

pd.read_excel("path+name", sheet_name=0,header=0,encoding="utf-8",names=[],comment=None)

path : 文件路径

step : 指定分隔符,默认为 逗号

encoding  : 文件内容的编码格式,,通常指定为'utf-8'

names: 列表,可选。指定列名的列表,如果数据文件中不包含列名,通过names指定列名,若指定则应该设置header=None。列名列表中不允许有重复值。

header  : 指定第几行是表头,默认会自动推断把第一行作为表头。header =None ,没有表头

sheet_name : 指定Excel文件读取哪个sheet,默认为第一个

comment:  字符串,默认值None。设置注释符号,注释掉行的其余内容。将一个或多个字符串传递给此参数以在输入文件中指示注释。注释字符串与当前行结尾之间的任何数据都将被忽略。

pd.read_excel('data/data.xlsx') # 注意目录层

# 本地绝对路径
pd.read_excel('/user/gairuo/data/data.xlsx')

# 使用URL
pd.read_excel('https://www.gairuo.com/file/data/dataset/team.xlsx')


# 字符串、整型、列表、None,默认为0
pd.read_excel('tmp.xlsx', sheet_name=1) # 第二个sheet
pd.read_excel('tmp.xlsx', sheet_name='总结表') # 按sheet的名字
# 读取第一个、第二个、名为Sheet5的sheet,返回一个df组成的字典
dfs = pd.read_excel('tmp.xlsx', sheet_name=[0, 1, "Sheet5"])


pd.read_excel('tmp.xlsx', names=['姓名', '年龄', '成绩'])



4、写入 excel

data.to_excel("path+name",sheeet_name,index=true,na_rep="")

path : 文件路径

sheet_name   定Excel文件写入哪个sheet,默认为第一个

index  :是否将索引一起导入,一般需要设置为 False

na_rep: 字符串,默认值''(空字符)。缺失值表示方式

不知大家发现没,CSV 和 excel 操作差不多

# 导出,可以指定文件路径
df.to_excel('path_to_file.xlsx')
# 指定sheet名,不要索引
df.to_excel('path_to_file.xlsx', sheet_name='Sheet1', index=False)

5、SQL 读取写入与查询         

注意需要安装SQLAlchemy库


from sqlalchemy import create_engine

# 创建数据库对象,SQLite内存模式

engine = create_engine('sqlite:///:memory:')

# 取出表名为data的表数据
with engine.connect() as conn, conn.begin():
data = pd.read_sql_table('data', conn)


# 将数据写入
data.to_sql('data', engine)

# 大量写入
data.to_sql('data_chunked', engine, chunksize=1000)

# 使用SQL查询
pd.read_sql_query('SELECT * FROM data', engine

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

慕.晨风

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

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

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

打赏作者

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

抵扣说明:

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

余额充值