一、从文本中读取数据
Python可以读取任何格式的文本数据,使用Python读取文本数据一般分为三个步骤。分别是:定义数据文件、获取文件对象、读取文件内容。下面让小编来分别解释它们是如何实现的。
定义数据文件
定义数据文件是指将数据文件预先赋值给一个对象,目的是为了后续操作更加便捷减少代码冗余。例如:现在要读取一个文件”text.txt”,定义方法如下:
file_name=’d:/python/ text.txt’
这样文件中的数据就读入到File_name中了,引号中内容是text.txt文件的路径。
2.获取文件对象
获取文件对象的意义是基于数据文件产生对象,后续所有关于该数据文件的操作都基于该对象产生。方法是用open函数创建一个文件对象,例如:
file_object = open(file_name)
3.读取文件内容
这个就不用过多解释了,含义就是读取文件里面的数据。大多数情况使用read或readlines函数实现。结合前两个步骤,可以总结出Python读取文本数据、查看数据的操作如下:
file_name=’d:/python/ text.txt’
file_object = open(file_name)
read_data = file_object.read() #读取数据
print(read_data) #打印数据
二、使用库读取数据
用Pandas库读取数据
Pandas读取数据的方法有很多,这里就举一个最常用的方法read_csv。read_csv用来读取csv格式的数据文件,具体操作如下,需要注意的是在读取数据的代码中也是要插入文件路径的,如果要读取的文件保存在Python工作目录中就可以不用加路径,用’文件名.格式’就可以了。
import pandas as pd # 导入Pandas库
data = pd.read_csv(data.csv, names=[col1, col2, col3, col4, col5]) # 读取csv数据
print(data) # 打印输出数据
#输出:
col1 col2 col3 col4 col5
0 0 1 2 3 4
1 5 6 7 8 9
2 10 11 12 13 14
2.用Numpy库读取数据
Numpy读取数据的方法包括loadtxt、load、fromfile3种。由于篇幅问题,这里只给大家介绍loadtxt,其他的可以通过百度或者相关数据来了解。过程跟前面都差不多,首先导入库,然后定义文件,最后读取数据。不同的是loadtxt函数中可以设定一些参数,如下面案例中dtype表示数据类型、delimiter表示是用数据中的分隔符,例如:逗号、TAB符等,默认是空格。
import numpy as np # 导入numpy库
file_name = numpy_data.txt # 定义数据文件
data = np.loadtxt(file_name, dtype=float32, delimiter= ) # 获取数据
print(data) # 打印数据
#输出
[[ 0. 1. 2. 3. 4.]
[ 5. 6. 7. 8. 9.]
[10. 11. 12. 13. 14.]]
三、从Excel中读取数据
Python读取Excel文件还是采用第三方库,最常用的是xlrd。操作方法可以参考下方代码:
# 导入库
import xlrd
# 打开文件
xlsx = xlrd.open_workbook(demo.xlsx)
# 查看所有sheet列表
print(All sheets: %s % xlsx.sheet_names())
# 查看sheet1的数据概况
sheet1 = xlsx.sheets()[0] # 获得第一张sheet,索引从0开始
sheet1_name = sheet1.name # 获得名称
sheet1_cols = sheet1.ncols # 获得列数
sheet1_nrows = sheet1.nrows # 获得行数
print(Sheet1 Name: %s\nSheet1 cols: %s\nSheet1 rows: %s % (sheet1_name, sheet1_cols, sheet1_nrows))
# 查看sheet1的特定切片数据
sheet1_nrows4 = sheet1.row_values(4) # 获得第4行数据
sheet1_cols2 = sheet1.col_values(2) # 获得第2列数据
cell23 = sheet1.row(2)[3].value # 查看第3行第4列数据
print(Row 4: %s\nCol 2: %s\nCell 1: %s\n % (sheet1_nrows4, sheet1_cols2, cell23))
# 查看sheet1的数据明细
for i in range(sheet1_nrows): # 逐行打印sheet1数据
print(sheet1.row_values(i))
对于Python常用的读取数据的方法大概是这些,但是对于数据分析师来说可能需要掌握的远不止于此。在很多情况下,由于数据量的问题,导出数据要花费很长时间。因此除了会读取数据文件外,数据分析师还要掌握读取数据库、流式数据、API等数据的方法。
PS.了解更多内容可以关注公众号“数据分析Young OG”