一. 文件的读取
csv类型读取
命令:pd.read_csv()
常用参数:
-
path
文件路径,可以是网络数据 -
encoding
指定编码。
pd.read_csv('example.csv', encoding='gb2312')
-
sep
指定行中各字段的分隔符,使用read_csv()时,默认就是逗号。 -
header
指定哪一行作为列索引,默认是0,即第一行。
当你指定None时,pandas会默认给出数字索引。
需要注意的是,如果指定了非第一行,那么你所指定的这一行之前的数据将被忽略
pd.read_csv('example.csv', header=None, encoding='gb2312')
-
index_col
指定哪一列作为行索引,pandas默认的行索引是从0开始一直向下递增,但是可以指定某一列作为行的索引,这里的指定可以是数字形式,也可以具体给出列的名称。pd.read_csv('example.csv', index_col=0) # 指定第0列 pd.read_csv('example.csv', index_col='company') # 指定'company'列作为索引
-
names
自己添加列索引,是一个列表形式。
pd.read_csv('example.csv', names=['公司','职位', '薪资', '地点'])
如果原始数据已经带有索引,而你想要重新自定义一个索引,可以添加一个header=0
参数, 意思就是使用names这个新的索引,代替原来的索引。 -
parse_dates
将某一列转换成日期格式 -
skiprows
指定忽略的行数或者需要跳过的行号。
如果是一个数字,则第0行开始,忽略前面的那些行,如果是一个列表,则会忽略具体的某些行。 -
na_values
如果na_values后面跟一个列表,列表中出现的数据将会变成NaN。
如果na_values后面跟一个字典,字典的键是列名,值是你想变成Nan的数据。 -
comment
将注释信息从行尾拆分出去的字符。(一个或多个) -
nrows
读取的行数。(从文件开始处算起) -
thousands
指定千位分隔符,如','。 -
chunksize
文件块的大小,在逐块读取文件时使用
pd.read_csv('example.csv', chunksize=10)
-
iterator
返回一个TextParser以便逐块读取文件。
excel类型读取
命令:pd.read_excel()
参数:
-
sheet_name
指定excel的工作表 -
converters
将单元格进行转换,可以使用函数。
csv类型写入
命令:df.to_csv()
参数:
-
index
默认情况下,会将index索引一起写入,但是可以指定参数,index=False来取消写入索引。 -
header
指定为False将不会写入columns索引 -
columns
可以用columns=[]来指定写入的列。
excel类型写入
命令:pd.to_excel()
参数:
-
sheet_name
指定excel的工作表 -
index
为False时,则不写入index索引 -
startrow
指定从excel的第几行开始,这里指的是excel工作表第几行,而不是我们的df数据。比如,startrow=1,那么打开excel你会发现,开始的行是2。 -
startcol
同上,这里是列,比如startcol=1,那么excel将会从B列开始写。 -
将两个DataFrame写入同一个excel文件的两个不同的sheet,方法如下
with pd.ExcelWriter('Excelname.xlsx') as writer:
df1.to_excel(writer, sheet_name='sheet1')
df2.to_excel(writer, sheet_name='sheet2')