pandas——读写csv文件和excel文件

1.文本文件的读取

文本文件是一种由若干行字符符构成的计算机文件,它是一种典型的顺序文件。

csv是一种逗号分隔的文件格式,因为其分隔符不一定是逗号,又被称为字符分隔文件,文件以
纯文本形式存储表格数据(数字和文本)

注:(1)csv文件根据其定义也是一种文本文件;(2)文本文件是字符分割文件。

使用read_table来读取文本文件:

pandas.read_table(filepath_or_buf er, sep=’\t’, header=’infer’, names=None,index_col=None, dtype=None, engine=None, nrows=None)

使用read_csv函数来读取csv文件
pandas.read_csv(filepath_or_buf er, sep=’\t’, header=’infer’, names=None,index_col=None, dtype=None, engine=None, nrows=None)hangy

read_table和read_csv常用参数及其说明

参数名称 说明
filepath 接收string。代表文件路径。无默认
sep 接收string。代表分隔符。read_csv默认为“,”,read_table默认为制表符“[Tab]
header 接收int或sequence。表示将某行数据作为列名。默认为infer,表示自动识别
names 接收array。表示列名。默认为None。
index_col 接收int、sequence或False。表示索引列的位置,取值为sequence则代表多重索引。默认为
None。
dtype 接收dict。代表写入的数据类型(列名为key,数据格式为values)。默认为None。
 
engine 接收c或者python。代表数据解析引擎。默认为c。
nrows 接收int。表示读取前n行。默认为None

### read_table和read_csv函数中的sep参数是指定文本的分隔符的 ,如果分隔符指定错误,在读取数据的时候,每一行数据将连成一片。

### header 参数是用来指定列名的,如果是None则会添加一个默认的列名。

### encoding代表文件的编码格式,常用的编码有utf-8,utf-16,gbk,gb2312,gb18030等。如果编码指定错误,数据将无法读取,Ipython解释器会报解析错误。

2.文本文件的存储

文本文件的存储和读取类似,结构化数据可以通过pandas中的to_csv函数实现以csv文件格式存储文件。

def to_csv(self, path_or_buf=None, sep=",", na_rep='', float_format=None,
           columns=None, header=True, index=True, index_label=None,
           mode='w', encoding=None)

参数:

参数名称 说明 参数名称 说明
path_or_buf 接收string。代表文件路径。无默认。 index 接收boolean,代表是否将行名(索引)写出。
默认为True。
sep 接收string。代表分隔符。默认为“,”。 index_labels 接收sequence。表示索引名。默认为None
na_rep 接收string。代表缺失值。默认为“”。 mode 接收特定string。代表数据写入模式。默认为w
columns 接收list。代表写出的列名。默认为None encoding 接收特定string。代表存储文件的编码格式。默
认为None
headers 接收boolean,代表是否将列名写出。默认为True    

3.excel文件读取


pandas提供了read_excel函数来读取“xls”“xlsx”两种Excel文件

pandas.read_excel(io, sheetname=0, header=0, index_col=None, names=None, dtype=None)

参数名称 说明
io 接收string。表示文件路径。无默认
sheetname 接收string、int。代表excel表内数据的分表位置。默认为0。
header 接收int或sequence。表示将某行数据作为列名。默认为infer,表示自动识别。
names 接收int、sequence或者False。表示索引列的位置,取值为sequence则代表多重索引。默认为None。
index_col 接收int、sequence或者False。表示索引列的位置,取值为sequence则代表多重索引。默认为None。
dtype 接收dict。代表写入的数据类型(列名为key,数据格式为values)。默认为None。

4.excel文件存储

###将文件存储为excel文件,可以使用to_excel方法。与to_csv方法的常用参数基本一致,区别之处在于指定存储文件路径参数为excel_writer,并且没有sep参数,增加了一个sheetnames参数用来指定存储的excel sheet的名称,默认为sheet1。

###numpy 数据读取-----主要用于科学计算取
##文本文件,二进制文件

###pandas  可读取文件
#文本文件
import pandas as pd

##read_csv 默认支持逗号作为分隔符
meal_info = pd.read_csv("./meal_order_info.csv",sep=",",encoding="gbk")
###编码方式----数据里面存在中文,存储的时候是哪个编码方式,解码就是哪个编码方式。
### windows 常用是gbk
### linux 常用utf-8
print("meal_info",meal_info)


### read_table 必须添加sep参数-----分隔符
meal_info = pd.read_table("./meal_order_info.csv",sep=",",encoding="gbk")

print("meal_info",meal_info)


#### read_excel ------读取excel文件
##什么是excel?
#表格文件,是以.xls 或.xlsx结尾的表格文件  #版本问题
users = pd.read_excel('./users.xlsx',sep=",")
print("users",users)


##########################################################################

####保存文件
##保存为csv/excel格式
##格式:df.to_csv/df.to_excel

users.to_excel('./gg.xls',encoding="gbk",index=False)   ##index不添加行索引
print("保存完成")

meal_info.to_csv('./信息表.csv',sep=",",encoding='gbk',index=False)
print("保存完成")

猜你喜欢

转载自blog.csdn.net/weixin_43567965/article/details/92799164