Pandas:外部文件数据导入/ 读取 (如 :csv、txt、tsv、dat、excel文件)、文件存储(to_csv、to_excel)

时间:2024-04-17 21:04:04

 一、文本文件读取

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

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

1、使用read_table来读取文本文件:
格式:pandas.read_table(数据文件名, sep=’\t’, header=’infer’, names=None,index_col=None, dtype=None, engine=None, nrows=None)
sep=’\t’:表示文件的是以制表符\t为分隔(即用Tab键来分隔)

 

2、使用read_csv函数来读取csv、tsv、txt文件:

格式:pandas.read_csv(数据文件名, sep=’,’, header=’infer’, names=None, index_col=None,dtype=None, engine=None, nrows=None)

3、read_table和read_csv常用参数及其说明:

 

补充理解:

(1)read_table和read_csv函数中的sep参数是指定文本的分隔符的,如果分隔符指定错误,在读取数据的时候,每一行数据将连成一片。
(2)header参数是用来指定列名的,如果是None则会添加一个默认的列名。
(3)encoding代表文件的编码格式,常用的编码有utf-8、utf-16、gbk、gb2312、gb18030等。如果编码指定错误数据将无法读取,IPython解释器会报解析错误。

 代码:

import pandas as pd

print("----------用pd.read_table()获取dat文件数据----------")
# 获取外部电影txt文件数据
users = pd.read_table(\'users.dat\',
                      header=None,                    # 表示不要导入原文件内的表头
                      names=[\'UserID\',\'Gender\',\'Age\',\'Occupation\',\'Zip-code\'],   #自定义列名
                      sep=\'::\',                     # 原文件的分隔符是\'::\',此处是按此分隔符将数据导入
                      engine= \'python\')
print(users.head())

print("------用pd.read_csv()获取csv、tsv、txt文件数据--------")
print("------案例1-------")
csv=pd.read_csv(\'iris.csv\',
                header=None,                               # 表示不要导入原文件内的表头
                names=[\'width\',\'height\',\'category\'])    #自定义列名:width,height,category
print(csv.head())
csv.iloc[0,2]=1

csv.to_csv(\'iris233333.csv\')   # 将数据保存为csv格式,并存放在本地

print("------案例2--------")
students1 = pd.read_csv(\'Students.csv\', index_col=\'ID\')   # index_col表示设置原csv文件里的ID列的值作为index索引值(index默认从0开始序列)
students2 = pd.read_csv(\'Students.tsv\', sep=\'\t\', index_col=\'ID\')
students3 = pd.read_csv(\'Students.txt\', sep=\'|\', index_col=\'ID\')

print(students1.head())
print(students2.head())
print(students3.head())

 

结果图:

 

 

二、Excel文件读取

1、pandas提供了read_excel函数来读取“xls”“xlsx”两种Excel文件:
2、格式:pandas.read_excel(文件名, sheetname=0, header=0, index_col=None, names=None, dtype=None)

3、read_excel常用参数及其说明:

 

 代码:

print("-------------pd.read_excel()获取excel文件-------------")
import pandas as pd
#获取excel表格文件
excel=pd.read_excel(\'data.xlsx\')
print(excel)

结果图:

 

三、文本文件存储

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

2、格式:DataFrame.to_csv(path_or_buf=None, sep=’,’, na_rep=”, columns=None, header=True,index=True,index_label=None,mode=’w’,encoding=None)

3、常用参数及其说明:

 

 四、Excel文件储存

1、将文件存储为Excel文件,可以使用to_excel方法。

2、格式:DataFrame.to_excel(excel_writer=None, sheetname=None\'’, na_rep=”, header=True,index=True, index_label=None, mode=’w’, encoding=None)

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