python怎么导入数据表(python怎么导入表格数据)
新手学习Python,求教Python中如何导入excel数据
读excel要用到xlrd模块,官网安装()。然后就可以跟着里面的例子稍微试一下就知道怎么用了。大概的流程是这样的:
1、导入模块
import xlrd
2、打开Excel文件读取数据
data = xlrd.open_workbook('excel.xls')
3、获取一个工作表
① table = data.sheets()[0] #通过索引顺序获取
② table = data.sheet_by_index(0) #通过索引顺序获取
③ table = data.sheet_by_name(u'Sheet1')#通过名称获取
4、获取整行和整列的值(返回数组)
table.row_values(i)
table.col_values(i)
5、获取行数和列数
table.nrows
table.ncols
6、获取单元格
table.cell(0,0).value
table.cell(2,3).value
就我自己使用的时候觉得还是获取cell最有用,这就相当于是给了你一个二维数组,余下你就可以想怎么干就怎么干了。得益于这个十分好用的库代码很是简洁。但是还是有若干坑的存在导致话了一定时间探索。现在列出来供后人参考吧:
1、首先就是我的统计是根据姓名统计各个表中的信息的,但是调试发现不同的表中各个名字貌似不能够匹配,开始怀疑过编码问题,不过后来发现是因为空格。因为在excel中输入的时候很可能会顺手在一些名字后面加上几个空格或是tab键,这样看起来没什么差别,但是程序处理的时候这就是两个完全不同的串了。我的解决方法是给每个获取的字符串都加上strip()处理一下。效果良好
2、还是字符串的匹配,在判断某个单元格中的字符串(中文)是否等于我所给出的的时候发现无法匹配,并且各种unicode也不太奏效,百度过一些解决方案,但是都比较复杂或是没用。最后我采用了一个比较变通的方式:直接从excel中获取我想要的值再进行比较,效果是不错就是通用行不太好,个呢不能问题还没解决。
二、写excel表
写excel表要用到xlwt模块,官网下载()。大致使用流程如下:
1、导入模块
复制代码代码如下:
import xlwt
2、创建workbook(其实就是excel,后来保存一下就行)
复制代码代码如下:
workbook = xlwt.Workbook(encoding = 'ascii')
3、创建表
复制代码代码如下:
worksheet = workbook.add_sheet('My Worksheet')
4、往单元格内写入内容
复制代码代码如下:
worksheet.write(0, 0, label = 'Row 0, Column 0 Value')
5、保存
复制代码代码如下:
workbook.save('Excel_Workbook.xls')
python如何导入数据
通过标准的Python库导入CSV文件:
Python提供了一个标准的类库CSV文件。这个类库中的reader()函数用来导入CSV文件。当CSV文件被读入后,可以利用这些数据生成一个NumPy数组,用来训练算法模型:
python导入数据到origin
python导入数据到origin?
文章为自己学习过程中的记录,仅做参考,如有不同,以你为准。
1.导入excel数据,不支持.xls文件,注意后缀,直接改为.xlsx即可。不影响。
2.OriginPro将工作簿画图的步骤。导入数据后为工作表格式-转化为矩阵,如图所示依次选择:工作表-转化为矩阵-直接转换或根据自己要求选择。
然后就会生成矩阵,点击矩阵外框-选择绘图,即可根据自己的要求选择简单的绘图。
1 如何用Python导入Excel以及csv数据集
Excel是一个二进制文件,它保存有关工作簿中所有工作表的信息
CSV代表Comma Separated Values 。这是一个纯文本格式,用逗号分隔一系列值
Excel不仅可以存储数据,还可以对数据进行操作
CSV文件只是一个文本文件,它存储数据,但不包含格式,公式,宏等。它也被称为平面文件
Excel是一个电子表格,将文件保存为自己的专有格式,即xls或xlsx
CSV是将表格信息保存为扩展名为.csv的分隔文本文件的格式
保存在excel中的文件不能被文本编辑器打开或编辑
CSV文件可以通过文本编辑器(如记事本)打开或编辑
excel中会有若干个表单,每个表单都会这些属性:?
行数(nrows) 列数(ncols) 名称(name) 索引(number)?
import xlrd //执行操作前需要导入xlrd库?
#读取文件?
excel = xlrd.open_workexcel("文件地址") //这里表格名称为excel,文件的地址可以从文件的属性中看到?
#读取表格表单数量?
sheet_num= excel.nsheets // sheet_num为变量,其值为表格表单数量?
#读取表格表单名称?
sheet_name = excel.sheet_names() // sheet_name为变量,其值为表格表单名称?
#如果想要看到上述两个变量,可以使用print()函数将它们打印出来?
#想要读取某个表单的数据,首先获取表单 excel.sheet_by_index(0)?
//表单索引从0开始,获取第一个表单对象 excel.sheet_by_name('xxx')?
// 获取名为”xxx”的表单对象 excel.sheets()?
// 获取所有的表单对象 获取单元格的内容:使用cell_value 方法 这里有两个参数:行号和列号,用来读取指定的单元格内容。?
第一行的内容是:sheet.row_values(rowx=0)?
第一列的内容是:sheet.col_values(colx=0)
CSV是英文Comma Separate Values(逗号分隔值)的缩写,文档的内容是由 “,” 分隔的一列列的数据构成的。在python数据处理中也经常用到。
import csv //执行操作前需要导入csv库?
#csv读取?
遍历其中数据 csv_file = csv.reader(open(‘文件地址’,’r’)) for x in csv_file print(x)
python中如何将表中的数据做成一张表,然后再从中取出数据?
第一部分是生成数据表,常见的生成方法有两种,第一种是导入外部数据,第二种是直接写入数据。 Excel 中的文件菜单中提供了获取外部数据的功能,支持数据库和文本文件和页面的多种数据源导入。
获取外部数据
python 支持从多种类型的数据导入。在开始使用 python 进行数据导入前需要先导入 pandas 库,为了方便起见,我们也同时导入 numpy 库。
1 import numpy as np
2 import pandas as pd
导入数据表
下面分别是从 excel 和 csv 格式文件导入数据并创建数据表的方法。代码是最简模式,里面有很多可选参数设置,例如列名称,索引列,数据格式等等。感兴趣的朋友可以参考 pandas 的
官方文档。
1 df=pd.DataFrame(pd.read_csv(‘name.csv’,header=1))
2 df=pd.DataFrame(pd.read_excel(‘name.xlsx’))
创建数据表
另一种方法是通过直接写入数据来生成数据表,excel 中直接在单元格中输入数据就可以,python 中通过下面的代码来实现。生成数据表的函数是 pandas 库中的 DateFrame 函数,数据表一共有 6 行数据,每行有 6 个字段。在数据中我们特意设置了一些 NA 值和有问题的字段,例如包含空格等。后面将在数据清洗步骤进行处理。后面我们将统一以 DataFrame 的简称 df 来命名数据表。
1 df = pd.DataFrame({‘id’:[1001,1002,1003,1004,1005,1006],
2 ‘date’:pd.date_range(‘20130102’, periods=6),
3 ‘city’:['Beijing ', ‘SH’, ’ guangzhou ', ‘Shenzhen’, ‘shanghai’, 'BEIJING '],
4 ‘age’:[23,44,54,32,34,32],
5 ‘category’:[‘100-A’,‘100-B’,‘110-A’,‘110-C’,‘210-A’,‘130-F’],
6 ‘price’:[1200,np.nan,2133,5433,np.nan,4432]},
7 columns =[‘id’,‘date’,‘city’,‘category’,‘age’,‘price’])
这是刚刚创建的数据表,我们没有设置索引列,price 字段中包含有 NA 值,city 字段中还包含了一些脏数据。
数据表检查
python 中处理的数据量通常会比较大,所以就需要我们对数据表进行检查。比如我们之前的文章中介绍的纽约出租车数据和 Citibike 的骑行数据,数据量都在千万级,我们无法一目了然的了解数据表的整体情况,必须要通过一些方法来获得数据表的关键信息。数据表检查的另一个目的是了解数据的概况,例如整个数据表的大小,所占空间,数据格式,是否有空值和重复项和具体的数据内容。为后面的清洗和预处理做好准备。
数据维度(行列)
Excel 中可以通过 CTRL 向下的光标键,和 CTRL 向右的光标键来查看行号和列号。Python 中使用 shape 函数来查看数据表的维度,也就是行数和列数,函数返回的结果(6,6)表示数据表有 6 行,6 列。下面是具体的代码。
1 #查看数据表的维度
2 df.shape
3 (6, 6)
数据表信息
使用 info 函数查看数据表的整体信息,这里返回的信息比较多,包括数据维度,列名称,数据格式和所占空间等信息。
1 #数据表信息
2 df.info()
4 class ‘pandas.core.frame.DataFrame’
5 RangeIndex: 6 entries, 0 to 5
6 Data columns (total 6 columns):
7 id 6 non-null int64
8 date 6 non-null datetime64[ns]
9 city 6 non-null object
10 category 6 non-null object
11 age 6 non-null int64
12 price 4 non-null float64
13 dtypes: datetime64ns, float64(1), int64(2), object(2)
14 memory usage: 368.0 bytes
查看数据格式
Excel 中通过选中单元格并查看开始菜单中的数值类型来判断数据的格式。Python 中使用 dtypes 函数来返回数据格式。
Dtypes 是一个查看数据格式的函数,可以一次性查看数据表中所有数据的格式,也可以指定一列来单独查看。
1#查看数据表各列格式
2df.dtypes
3
4id int64
5date datetime64[ns]
6city object
7category object
8age int64
9price float64
10dtype: object
11
12#查看单列格式
13df[‘B’].dtype
14
15dtype(‘int64’)
查看空值
Excel 中查看空值的方法是使用“定位条件”功能对数据表中的空值进行定位。“定位条件”在“开始”目录下的“查找和选择”目录中。
Isnull 是 Python 中检验空值的函数,返回的结果是逻辑值,包含空值返回 True,不包含则返回 False。可以对整个数据表进行检查,也可以单独对某一列进行空值检查。
df_isnull
1#检查特定列空值
2df[‘price’].isnull()
3
40 False
51 True
62 False
73 False
84 True
95 False
10Name: price, dtype: bool
查看唯一值
Excel 中查看唯一值的方法是使用“条件格式”对唯一值进行颜色标记。Python 中使用 unique 函数查看唯一值。
Unique 是查看唯一值的函数,只能对数据表中的特定列进行检查。下面是代码,返回的结果是该列中的唯一值。类似与 Excel 中删除重复项后的结果。
1 #查看 city 列中的唯一值
2 df[‘city’].unique()34array(['Beijing ', ‘SH’, ’ guangzhou ', ‘Shenzhen’, ‘shanghai’, 'BEIJING '], dtype=object)
查看数据表数值
Python 中的 Values 函数用来查看数据表中的数值。以数组的形式返回,不包含表头信息。
1#查看数据表的值
2df.values
3
4array([[1001, Timestamp(‘2013-01-02 00:00:00’), 'Beijing ', ‘100-A’, 23,
5 1200.0],
6 [1002, Timestamp(‘2013-01-03 00:00:00’), ‘SH’, ‘100-B’, 44, nan],
7 [1003, Timestamp(‘2013-01-04 00:00:00’), ’ guangzhou ', ‘110-A’, 54,
8 2133.0],
9 [1004, Timestamp(‘2013-01-05 00:00:00’), ‘Shenzhen’, ‘110-C’, 32,
10 5433.0],
11 [1005, Timestamp(‘2013-01-06 00:00:00’), ‘shanghai’, ‘210-A’, 34,
12 nan],
13 [1006, Timestamp(‘2013-01-07 00:00:00’), 'BEIJING ', ‘130-F’, 32,
14 4432.0]], dtype=object)
查看列名称
Colums 函数用来单独查看数据表中的列名称。
1 #查看列名称
2 df.columns
3
4 Index([‘id’, ‘date’, ‘city’, ‘category’, ‘age’, ‘price’], dtype=‘object’)
查看前 10 行数据
Head 函数用来查看数据表中的前 N 行数据,默认 head()显示前 10 行数据,可以自己设置参数值来确定查看的行数。下面的代码中设置查看前 3 行的数据。
1#查看前 3 行数据``df.head(``3``)
Tail 行数与 head 函数相反,用来查看数据表中后 N 行的数据,默认 tail()显示后 10 行数据,可以自己设置参数值来确定查看的行数。下面的代码中设置查看后 3 行的数据。
1#查看最后 3 行df.tail(3)