python数据预处理 |
您所在的位置:网站首页 › excel读取txt数据 › python数据预处理 |
python数据预处理——Excel和txt文本的数据储存和读取
1、读取txt文件
首先在python程序目录下新建一个需要读取的txt文件(我这里的数据是一个简单的矩阵)命名为data 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 注意数据之间不要打逗号 import numpy as np np.loadtxt('data.txt') print(a)输出结果: [[ 1. 2. 3. 4. 5.] [ 6. 7. 8. 9. 10.] [11. 12. 13. 14. 15.] [16. 17. 18. 19. 20.]] import numpy as np a=np.loadtxt('data.txt',skiprows=1,dtype=int) print(a)输出结果: [[ 6 7 8 9 10] [11 12 13 14 15] [16 17 18 19 20]] 这里的skiprows是指跳过第几行,dtype是将数据类型设置为整型。 import numpy as np a=np.loadtxt('data.txt',skiprows=1,usecols=(0,2),dtype=int) print(a)输出结果: [[ 6 8] [11 13] [16 18]] usecols是指输出第几列,这里的usecols=(0,2)是指输出的第一列和第三列。 import numpy as np (a,b)=np.loadtxt('data.txt',skiprows=1,usecols=(0,2),dtype=int,unpack=True) print(a,b)输出结果: [ 6 11 16] [ 8 13 18] unpack=True是指会把每一列当成一个向量输出, 而不是合并在一起. 2、储存数据到txt文件 import numpy as np a=1,2,3,4,5,6,7,8 np.savetxt('text.txt',a,fmt="%d",delimiter="\n")输出结果: text.txt指你要创建的txt文件名称、a代表你要存储的数据,fnt指你把数据存储为什么类型,delimiter="\n"换行。 fnt的类型表示方法跟C语言相似,具体可以参见C语言,这里我把输出整型换成双精度浮点型, import numpy as np a=1,2,3,4,5,6,7,8 np.savetxt('text.txt',a,fmt="%lf",delimiter="\n")输出结果: 意义:将data文件中的”部分“数据存储到text中。 输出结果: (a,b)=[ 6 11 16] [ 8 13 18] text文件内容为: 输出结果: 但是上面这个程序会出现一个问题,每执行一次程序原先的数据就会被更新, 再来看下面这个程序 from openpyxl import load_workbook import openpyxl a=[1,2,3,4,5,6,7,8,9,10] wb = load_workbook("haha.xlsx") worksheet = wb.active for i in range(len(a)): worksheet.cell(1,i+1,a[i]) wb.save("haha.xlsx")现在就不会进行数据更新了。 5、读取Excel数据 import xlrd data=xlrd.open_workbook("haha.xlsx") table=data.sheets()[0] c=table.row_values(1) print(c)输出结果: [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0] 读取出Excel中第2行的数据。 import xlrd data=xlrd.open_workbook("haha.xlsx") table=data.sheets()[0] nrows = table.nrows # 有效行数 ncols = table.ncols # 有效列数 table.col_slice(1, start_rowx=0, end_rowx=None) #返回由该列中所有的单元格对象组成的列表第二列对象组成:[number:2.0, number:2.0] table.col_values(1, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据组成的列表第二列数据组成:[2.0, 2.0] table.row_values(rowx, start_colx=0, end_colx=None) #第二行中所有单元格的数据组成的列表[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0] table.cell(1,2) #返回第二行第三列单元格对象number:3.0 table.cell_value(1,1) #返回第二行第二列的数据二行中所有单元格的数据组成的列表 [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0] ```python table.cell(1,2) #返回第二行第三列单元格对象number:3.0 table.cell_value(1,1) #返回第二行第二列的数据2.0 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |