文本文件是一种由若干行字符符构成的计算机文件,它是一种典型的顺序文件。
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解释器会报解析错误。
文本文件的存储和读取类似,结构化数据可以通过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 |
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。 |
###将文件存储为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("保存完成")