python导入数据文件函数(python 导入数据)

http://www.itjxue.com  2023-03-27 12:58  来源:未知  点击次数: 

python将txt导入到excel

你说的是使用python读取dat,txt类型文件或excel文件吧,这里我不清楚dat类型文件是什么类型的文件,数据格式是怎样的,所以主要讲一下如何简单快捷的读取txt文件指定的列数据和excel文件指定的列数据,主要用到numpy,pandas这两个包,这两个主要做科学计算和数据处理,python处理实验数据,经常要用到这两个包,至于dat类型的文件,我提供一种可能的思路,实验环境win7+python3.6+pycharm,主要步骤如下:

1.读取txt文件指定列。这里主要用到numpy这个包,以及其包含的loadtxt函数,读取的前提是txt文件不是完全的杂乱无章,没有一点格式、结构可循,如果真的是这样,建议手动调整一下格式,使其尽量保持一定的格式结果,然后再读取,不然的话,会出现错误,我这里新建了一个txt文件,样本内容如下,每行的数据以3个空格为间隔,一般情况下,实验所产生的txt数据都是有一定结构的:

对应读取的代码如下,这里以读取1,3列数据为例,很简单:

程序运行结果如下,已经成功打印出1,3列数据:

2.读取excel文件指定的列。这里主要用到pandas这个包,以及其包含的read_excel函数,因为excel数据本来就是有一定格式的,所以读起来就简单了许多,这里我新建了一个excel文件,样本数据如下:

对应读取的代码如下,这里以读取1,3列数据为例,很简单:

程序运行结果如下,已经成功打印出1,3列数据:

3.至于dat文件的话,这里提供一种可能思路,如果dat文件可以直接用记事打开的话,并且数据可以正常显示,没有乱码的情况下,有一定的格式可循,可以将其看作一个普通文件,使用python的open函数进行读取,将读取的数据存储在一个list列表中,或者使用特定软件将其转换成txt或excel文件后,再进行读取。如果是特殊类型的文件,这个就不好说了,这里就要自己想办法了。

至于后面如何进行可视化绘图,我就不多说了,像matplotlib等数据可视化包都可以。至此,就完成了这3中类型文件的读取,总的来说,实现起来不难,都有现成的包可直接利用,方便了许多,当然你也可以用其他包或者自己来实现,这个就因人而异了,只要能正常的读取实验数据就行,网上也有这方面的资料,你可以参考一下,希望以上分享的内容能对你有所帮助吧。

python怎么导入excel数据

使用第三方函数库。操作xls文件可以使用XLRD和XLWT函数库。你也可以到CSDN上搜索一下。

python怎么导入自定义函数

这个问题涉及到包和模块管理。包名和模块名一般是小写。你的文件是下面的结构,需要创建空文件 b/__init__.py,将b目录变成package。a/a.py

12

from b.c import indexindex()

b/c.py

12

def index(): print("hello")

b/__init__.pya/a.py 里面有两种引用方式,相对引用和绝对引用:# 如果a.py是 library,两种引用方式都可以

1

from ..b.c import index

# 如果a.py是 executable,必须使用绝对引用

1

from b.c import index

如果使用绝对引用,需要确保b所在目录在PYTHONPATH (sys.path)里面,比如可以这样执行:

1

env PYTHONPATH=. python a/a.py

python导入(import)文件夹下python子函数的方法

(1)主程序main.py与模块程序mod1.py在同一目录下。

--src

? |--mod1.py

? |--main.py

直接在main.py中导入模块mod1.py,即 import mod1 或 from mod1 import *

(2)主程序main.py所在目录是模块程序mod.py所在目录的父目录。

--src

? |--mod1.py

? |--main.py

? ---mod2

? ? ?|--mod2.py

先需要在mod2文件夹中建立空文件__init__.py

然后在main.py中导入模块mod2.py,即 import mod2.mod2 或 from mod2.mod2 import *

(3)主程序main.py导入上层目录中的模块或其他目录(平级)下的模块。

--src

? |--mod1.py

? ---mod2

? ? ?|--mod2.py

? ---sub

? ? ?|--main.py

先需要在mod2文件夹中建立空文件__init__.py,而src文件夹下不需要建立

然后进入主程序main.py所在的路径,执行python main.py

在main.py中导入模块mod2.py,即 import mod2.mod2 或 from mod2.mod2 import *

执行前在main.py中加入:

import sys

sys.path.append("..")

import mod1

import mod2.mod2

像Excel一样使用Python(一)

在进行数据处理时,如果数据简单,数量不多,excel是大家的首选。但是当数据众多,类型复杂,需要灵活地显示切片、进行索引、以及排序时,python会更加方便。借助python中的numpy和pandas库,它能快速完成各种任务,包括数据的创建、检查、清洗、预处理、提取、筛选、汇总、统计等。接下来几篇文章,将以excel为参照,介绍python中数据的处理。

提到pandas,那就不得不提两类重要的数据结构,Series和DataFrame,这两类数据结构都是建立在numpy的数组array基础上。与array相比,Series是一个一维的数据集,但是每个数据元素都带有一个索引,有点类似于字典。而DataFrame在数组的基础上,增加了行索引和列索引,类似于Series的字典,或者说是一个列表集。

所以在数据处理前,要安装好numpy , pandas。接下来就看看如何完成一套完整的数据操作。

创建数据表的方法分两种,分别是从外部导入数据,以及直接写入数据。

在python中,也可外部导入xlsx格式文件,使用read_excel()函数:

import pandas as pd

from pandas import DataFrame,Series

data=DataFrame(pd.read_excel('c:/python27/test.xlsx'))

print data

输出:

Gene Size Function

0 arx1 411 NaN

1 arx2 550 monooxygenase

2 arx3 405 aminotransferase

……

即:调用pandas中read_excel属性,来读取文件test.xlsx,并转换成DataFrame格式,赋给变量data。在每一行后,自动分了一个索引值。除了excel,还支持以下格式文件的导入和写入:

Python写入的方法有很多,但还是不如excel方便。常用的例如使用相等长度的字典或numpy数组来创建:

data1 = DataFrame(

{'Gene':['arx1','arx2','arx3'],

'Size':[411,550,405],

'Func':[np.NaN,'monooxygenase','aminotransferase ']})

print data1

输出

Func Gene Size

0 NaN arx1 411

1 monooxyg arx2 550

2 amino arx3 405

分配一个行索引后,自动排序并输出。

在python中,可以使用info()函数查看整个数据的详细信息。

print data.info()

输出

RangeIndex: 7 entries, 0 to 6

Data columns (total 3 columns):

Gene 7 non-null object

Size 7 non-null int64

Function 5 non-null object

dtypes: int64(1), object(2)

memory usage: 240.0+ bytes

None

此外,还可以通过shape, column, index, values, dtypes等函数来查看数据维度、行列组成、所有的值、 数据类型:

print data1.shape

print data1.index

print data1.columns

print data1.dtypes

输出

(3, 3)

RangeIndex(start=0, stop=3, step=1)

Index([u'Func', u'Gene', u'Size'], dtype='object')

Func object

Gene object

Size int64

dtype: object

在excel中可以按“F5”,在“定位条件”中选择“空值”,选中后,输入替换信息,再按“Ctrl+Enter”即可完成替换。

在python中,使用函数 isnull 和 notnull 来检测数据丢失, 包含空值返回True,不包含则返回False。

pd.isnull(data1)

pd.notnull(data1)

也可以使用函数的实例方法,以及加入参数,对某一列进行检查:

print data1['Func'].isnull()

输出

Func Gene Size

0 True False False

1 False False False

2 False False False

再使用fillna对空值进行填充:

data.fillna(value=0)

#用0来填充空值

data['Size'].fillna(data1['Size'].mean())

#用data1中Size列的平均值来填充空值

data['Func']=data['Func'].map(str.strip)

#清理Func列中存在的空格

Excel中可以按“Ctrl+F”,可调出替换对话框,替换相应数据。

Python中,使用replace函数替换:

data['Func'].replace('monooxygenase', 'oxidase')

将Func列中的'monooxygenase'替换成'oxidase'。

Excel中,通过“数据-筛选-高级”可以选择性地看某一列的唯一值。

Python中,使用unique函数查看:

print data['Func'].unique()

输出

[nan u'monooxygenase' u'aminotransferase' u'methyltransferase']

Excel中,通过UPPER、LOWER、PROPER等函数来变成大写、小写、首字母大写。

Python中也有同名函数:

data1['Gene'].str.lower()

Excel中可以通过“数据-删除重复项”来去除重复值。

Python中,可以通过drop_duplicates函数删除重复值:

print data['Func'].drop_duplicates()

输出

0 NaN

1 monooxygenase

2 aminotransferase

3 methyltransferase

Name: Func, dtype: object

还可以设置“ keep=’last’ ”参数,后出现的被保留,先出现的被删除:

print data['Func'].drop_duplicates(keep='last')

输出

2 aminotransferase

3 methyltransferase

6 monooxygenase

8 NaN

Name: Func, dtype: object

内容参考:

Python For Data Analysis

蓝鲸网站分析博客,作者蓝鲸(王彦平)

python如何导入数据

通过标准的Python库导入CSV文件:

Python提供了一个标准的类库CSV文件。这个类库中的reader()函数用来导入CSV文件。当CSV文件被读入后,可以利用这些数据生成一个NumPy数组,用来训练算法模型:

(责任编辑:IT教学网)

更多

推荐服务器空间文章