安博电竞竞猜网站_安博电竞吧_anggame安博电竞app
安博电竞竞猜网站

毛孔粗大,python学习之路--pandas读写文件,neet

admin admin ⋅ 2019-04-20 16:25:35

上一期关于pandas的数据结构以及根本的增查毛孔粗大,python学习之路--pandas读写文件,neet修改进行了简略的介绍,这一期接着运用pandas进行读写文件。

1.读取文件

运用pandas读取文件首要用到的函数是read_xx(),读取后数据结构为dataframe,接下来对read_xx()进行逐个解说。

1.1 excel文件

pd.read_excel()能够用来读取excel文件,首要涉及到的参数有:

(1)sheet_name: excel文件中的表名

(2)index_col: 运用哪一列作为行索引,默许从0开端

(4)usecols: 读取表格中哪几列,有必要是方位索引

(5)header: 哪一行设置为列索引,默许是榜首行,即header = 0

(6)date_parser:解析日期的函数

(7)parse_dates:测验将数据解析为日期,默许为False。假如为True,则测验解析一切列。此外,还能够指定需求解析的一组列号或许列名

(8)names: 列索引

(9)engine: 默许是C,如文件途径存在中文时,engine= "python"

(10)encoding: 默许是utf-8,还能够是gbk

(11)skiprows: 越过前几行读取文件,默许从0开端

(12)nrows: 读取多少行数据

(13) converters: 列名跟函数之间的映射联系组成的字典

import pandas as pd
df = pd.read_excel(r"D:\迅雷下载\示例.xlsx",sheet_nam = 0,index_col = 0,nrows = 5)
print(df)

性别 年纪 省内省外 消费金额 借款与否
用户id
1乐安气候 60 1 311.0 王细灵0
2 NaN 25 1 220.0 1
3 47 1 246.0 0
4 52 0 NaN毛孔粗大,python学习之路--pandas读写文件,neet 0
5 21 0 916.0 0

sheet_name用来指定读取文件中哪个表格,能够是表格的姓名或许是表格地点的毛孔粗大,python学习之路--pandas读写文件,neet方位,默许从0开端;

index_col指定用哪一列作为行索引,能够是详细的列名,也能够是列的方位索引,默许从0开端;

nrows就不必多说了,只读取多少行,为了便利检查数据的结构,示例只读取5行。

df = 洛克王国金色命运之钥pd.read_excel(r"D:\迅雷下载\示例.xlsx",index_col = "用户id",usecols = [0,1,2,4,5],nrows = 5)
print(df)

性别 年纪 消费金额 借款与否
用户id
1 60 311.0 丰南大众传媒 0
2 NaN 25 220.0 1
3 47 246.0 0
4 52 NaN 0
5 21 916.0 0

usecols指定读取列,须是列的方位索引,默许从0开端;

header指定哪一行设置为列索引,默许为0,还能够是1或许None;

 #以header = 0,以榜首行为列索引
df = pd.read_excel(r"D:\迅雷下载\示例.xlsx",header = 0,nrows = 5)
print(df)

用户id 性别 年纪 省内省外 消费金额 借款与否
0 1 60 1 311.0 0
1 2 NaN 25 1 220.0 1
2 3 47 1 246.0 0
3 4 52 0 NaN 0
4 5 21 0 916.0 0

#以header = 1,以第二行为列索引
df = pd.read_excel(r"D:\迅雷下载\示例.xlsx",header = 1,nrows = 5)
print(df)

1 60 1.1 311 0
0 2 NaN 25 1 220.0 1
1 阿思欣泰 3 4鲁兆新浪博客7重生之兴起在美国极北 1 246.0 0
2 4 52 0 NaN 0
3 5 21 0 916.0 0
4 6 37 0 980.0 1

header = None,标明不以表三国之吞天武神格的行为列索引,即没有表头,默许从0开端,如本来表翁虹女儿格有列索引,则本来索引变为榜首行数据;

df = pd.read_excel(r"D:\迅雷下载\示例.xlsx",head羽加立er = None,nrows = 5) 
print(df)

0 1 2 3 4 5
0 用户id 性别 年纪 省内省外 消费金额 借款与否
1 1 60 1 311 0
2 2 NaN 25 1 220 1
3 3 47 1 246 0
4 4 52 0 NaN 0

列名的设置,能够经过header = None调配names参数来重设,或许header = None调配df.columns()来设置;

skiprows,越过前几行读取;

df = pd.read_excel(r"D:\迅雷下载\示例.xlsx",header = None,nrows = 5,skiprows = 1,names = ["用户id","性别","年纪","省内外状况","消费状况","借款状况"]) 
print(df)

用户id 性别 年纪 省内外状况 消费状况 借款状况
0 1 60 1 311.0 0
1 2 NaN 25 1 220.0 1
2 3 47 1 246.0 0
3 4 52 0 NaN 0
4 5 21 0 916.0 0

由于本来的表格有表头,因而用header = None时,本来的表头会变成榜首行数据,因而运用skiprows =1,越过了榜首行的读取。

df = pd.read_excel(r"D:\迅雷下载\示例.xlsx",header = None,nrows = 5,skiprows = 1) 
df.columns = ["用户id","性别","年纪","省内外状况","消费状况","借款状况"]
print(df)

用户id 性别 年纪 省内外状况 消费状况 借款状况
0 1 60 1 311.0 0
1 2 NaN 25 1 220.0 1
2 3 47 1 246.0 0
3 4 52 0 NaN 0
4 5 21 0 916.0 0

1.2 csv文件

csv文件是以逗号为分隔符的文件,读取参数与excel根本相似,与excel的读取不一样的当地在于如遇到中文途径有必要得设置engine参数;

文件为gbk格局的csv,若不设置encodin毛孔粗大,python学习之路--pandas读写文件,neetg参数,会报错,而且文件途径带有中文,需求设置engine参数,否则也会报错;

df = pd.read_csv(r"D:\迅雷下载\示例gbk.csv",encoding = "gbk",engine = "python")
print(df)

用户id 性别 年纪 省内省外 消费金额 借款与否
0 1 60.0 1 311.0 0.0
1 2 NaN 25.0 1 220.0 1.0
2 3 47.0 1 246.0 0.0
3 4 52.0 杨崇生0 NaN 0.0
4 5 21.0 0 916.0 0.0
5 6 37.0 0 980.0 1.0
6 7 34.0 0 482.0 1.0
7 8 NaN 0 267.0 0.0
8 9 50.0 1 NaN 0.0
9 10 20.0 1 265.0 1.0
10 11 51.0 1 612.0 0.0
11 12 31.0 0 704.0 0.0
12 13 NaN 0 529.0 1.0
13 窗口边的情事 14 18.0 1 528.0 1.0
14 15 22.0 0 328.0 NaN
15 16 45.0 0 647.0 0.0
16 17 NaN 52.0 0 860.0 0.0
17 18 50.0 1 779.0 0.0
18 19 59.0 0 750.0 1.0
19 20 23.0 0 597毛孔粗大,python学习之路--pandas读写文件,neet.0 0.0

encoding默许是utf-8格局,根据需求还可能是gbk,示例便是gbk格局;

engine指定读取引擎,默许是c言语,如有途径有中文,需设置为python,python引擎更为全面;

1.3 txt文件

txt文件是以指制表符\t为分隔符的文件,读取时用到read_table来读取,参数与excel、csv根本相似,不同的当地在于有必要要指定sep。

df = pd.read_csv(r"D:\迅雷下载\示例txt.txt",encoding = "gbk",engine = "python",sep = "\t",nrows= 5,index_col = "用户id")
print(df)

性别 年纪 省内省外 消费金额 借款与否
用户id
1 60 1 311.0 0
2 NaN 25 1 220.0 1
3 47 1 246.0 0
4 52 0 NaN 0
5 21 0 916.0 0

2. 写入文件

2.1写入文件

excel,csv,txt写入文件的方法根本相似,以pandas的to_xx()方法写入;由于三者相似,这儿只用excel格局来示例。

(1)index:是否保存行索引

(2)columns: 经过列索引指定所需列

(3)sheet_name: 表名

(4)encoding:编码格局,utf-8或许gbk

(5)na_rep:缺失值填充

(6)inf_rep:无量值填充

(7)index_label: 行索引标签

(8)header: 默许为True,False没有列索引,如需更改列名,则header = ["列1","列2","列3"]

df = pd.read_excel(r"D:\迅雷下载\示例.xlsx",sheet_nam = 0,nrows = 5)
df.to_exc黄hel(r"C:\Users\wenjianhua\Desktop\示例20190322.xlsx",index = False,columns = ["用户id","性别","消费金额","借款与否"],
encoding = "utf-8",sheet_name = "示例",na_rep = "Na",inf_rep = "Na")

to_csv时需记住设置sep参数!

2.2 多个表写入同个文件

多个数据表需一起写入一个文件时,需用到pandas的ExcelWriter。过程如下:

writer = pd.ExcelWriter(pnagitiveath,engine = "魔法师奴隶契约xlsxwriter公主猎爱三十六计")
df1.to_excel(writer,sheet_name = "XX")
df2.to_excel(writer,sheet_name = "XX")
df3.to_excel(writer,sheet_name = "XX")
writer.save()
##咱们举例说明一下
df1 = pd.read_excel(r"D:\迅雷下载\示例.xlsx",sheet_nam = 0,nrows = 5)
df2 = pd.read_excel(r"D:血界阵线十三王都是谁\迅雷下载\示例.xlsx",sheet_nam = 0,nrows = 5)
df3 = pd.read_excel(r"D:\迅雷下载\示例.xlsx",sheet_nam = 0,nrows = 5)
writer = pd.ExcelWriter(r"D:\迅雷下载\示例1.xlsx",engine = "xlsxwriter")
df1.to_excel(wr毛孔粗大,python学习之路--pandas读写文件,neetiter,sheet_name = "示例1")
df2.t婚婚纵爱o_excel(writer,sheet_name = "示例2")
df3.to_excel(writer,sheet_name = "示例3")
writer.save()

3.批量读取文件

许多时分咱们会遇到数据表结构相似,乃至结构相同的文件。处理时假如一个一个的读取,那就太慢了,不符合运用python的咱们的风格,咱们能够运用循环将多个相似的数据表一起读取,如:

import os
import pandas as pd
frame = []
path = r"C:\Users\wenjianhua\Desktop\example"
for file in os.listdir(path):
filepath = path + "\\" + file
print(filepath)
frame.append(pd.read_csv(filepath,usecols = [0,1,2,3]))

df天医祝由看病100法 = pd.concat(frame,ignore_index = True)
print(df.head(10))

C:\Users\we毛孔粗大,python学习之路--pandas读写文件,neetnjianhua\Desktop\example\order-14.3.csv
C:\Users\wenjianhua\Desktop\example\order.csv
产品ID 类别ID 门店编号 单价
0 30006206 915000003 CDNL 25.23
1 30163281 914010000 CDNL 2.00
2 30200518 922000000 CDNL 19.62
3 29989105 922000000 CDNL 2.80
4 30179558 915000100 CDNL 47.41
5 30022232 960000000 CDNL 0.30
6 30179520 915000100 CDNL 77.52
7 30184351 915000106 CDNL 15.57
8 30184351 915000106 CDNL 15.58
9 29989059 922000003 CDNL 1.98

这一期共享到此结束,各位看官觉得文章不错的话,请扫一扫重视哦!


admin

admin

TA太懒了...暂时没有任何简介

精彩新闻