多大将军存与读取

By admin in 编程 on 2019年9月3日

Windows下Python使用Pandas模块操作Excel文件的课程,

安装Python环境 ANACONDA是贰个Python的批发版本,包蕴了400八个Python最常用的库,个中就总结了数量深入分析中需求平时利用到的Numpy和Pandas等。更要紧的是,不论在哪些平台上,都足以一键安装,自动配置好条件,没有供给客商任何的附加操作,非常有利。因而,安装Python情状就只供给到ANACONDA网址上下载安装文件,双击安装即可。
ANACONDA官方下载地址:
安装完毕将来,使用windows +
r键展开Windows命令行,输入ipython,然后回车:

Python 2.7.11 |Anaconda 2.5.0 (64-bit)| (default, Jan 29 2016, 14:26:21) [MSC v.1500 64 bit (AMD64)]

Type "copyright", "credits" or "license" for more information.

IPython 4.0.3 -- An enhanced Interactive Python.

?     -> Introduction and overview of IPython's features.

%quickref -> Quick reference.

help   -> Python's own help system.

object?  -> Details about 'object', use 'object??' for extra details.

如上所示,假若成功跻身了Python蒙受,则象征安装成功。

使用pandas处理excel 在本文笔者以log.xls文件为例,来注解怎么样利用pandas管理excel文件。log.xls文件的剧情如下所示:

图片 1

能够看到log.xls中富含了七个的表(sheet),每一个表主要不外乎了member和activity八个属性,一样的member
ID的多寡相邻的排列在共同,而且最后一行是前方全数的汇总。这里,大家若是要求领收取每一种member汇总的信息,即提取每种member三番五次出现的最终一行的数码。怎么样完成啊?

此间我们就来隆重介绍Pandas,,从

python setup.py install 

安装。

(PS:python的大数量模块pandas完全安装实现后还借助于
• NumPy: 1.6.1 or higher
• python-dateutil 1.5
• pytz
那七个模块大概要设置。
可采取重视有(能够依据要求安装)
• SciPy: miscellaneous statistical functions
• PyTables: necessary for HDF5-based storage
• SQLAlchemy: for SQL database support. Version 0.8.1 or higher
recommended.
• matplotlib: for plotting
• statsmodels
– Needed for parts of pandas.stats
• openpyxl, xlrd/xlwt
– openpyxl version 1.6.1 or higher, but lower than 2.0.0
– Needed for Excel I/O
• XlsxWriter
– Alternative Excel writer.
• boto: necessary for Amazon S3 access.

导入pandas模块:

import pandas as pd

运用import读入pandas模块,并且为了方便使用其缩写pd指代。

读入待管理的excel文件:

df = pd.read_excel('log.xls')

经过应用read_excel函数读入excel文件,后边要求替换到excel文件所在的不二秘籍。读入之后成为pandas的DataFrame对象。DataFrame是二个面向列(column-oriented)的二维表结构,且带有列表和行标,对excel文件的操作就转变为对DataFrame操作。别的,如若三个excel含有三个表,假使您只想读入其中二个能够:

df = pd.read_excel('log.xls', sheetname=1)

充实了三个参数sheetname,表示的是第多少个表,从0初阶计数。小编上面安装的是1,也正是第4个表。

读入之后,能够先查看表头消息和每一列的数据类型:

df.dtypes

输出如下:

Member     object
Unnamed: 1  float64
Unnamed: 2  float64
Unnamed: 3  float64
Unnamed: 4  float64
Unnamed: 5  float64
家内外活动类型    object
Unnamed: 7   object
activity    object
dtype: object

领取各种member三番五次出现的最后一行数据:

 new_df = df.drop_duplicates(subset='Member', keep='last')

上述语句的意趣是依照Member字段去除掉多余的行,并且保留一样行的结尾一行数据。这几个就拿到了每三个member最终一行的数目了,再次回到了通过筛选后的DataFrame。

接下去必要将拍卖后的结果,保存为excel文件:

out = pd.ExcelWriter('output.xls')
new_df.to_excel(out)
out.save()

output.xls是您要封存的文件名,能够任取;然后将DataFrame的内容保留到该公文,最终保存该文件到系统的磁盘上。

接下去,你就足以在当前目录看到二个新的文本,能够直接使用excel张开查看。

Pandas还提供了累累的API,能够依附现实的天职,查找API文档,找到适当的函数来产生任务。

附:一个全体的演示

#coding=utf-8
import pandas as pd

# 读入excel文件中的第2个表
df = pd.read_excel('log.xls', sheetname=1)
# 查看表的数据类型
print df.dtypes
# 查看Member列的数据
print df['Member']

'''
# 新建一列,每一行的值是Member列和activity列相同行值的和
for i in df.index:
  df['activity_2'][i] = df['Member'][i] + df['activity'][i]
'''

# 根据Member字段去除掉多余的行,并且保留相同行的最后一行数据
new_df = df.drop_duplicates(subset='Member', keep='last')
# 导出结果
out = pd.ExcelWriter('output.xls')
new_df.to_excel(out)
out.save()

安装Python环境ANACONDA是一个Python的批发版本,满含了400八个Python最常用的库,个中就归纳了…

导入pandas模块:

1、 Open方法

  • 利用with open()新建对象
  • 写入数据

 # -*- coding: utf-8 -*-
 # __author__ = 'Carina'


 import requests
 import os
 from lxml import etree

 url = "https://movie.douban.com/subject/26861685/comments"
 r = requests.get(url).text

 s = etree.HTML(r)
 file = s.xpath('//div[@class="comment"]/p/text()')
 # beforepath_ = os.getcwd()  # 获取当前目录
 # after_path = os.chdir("C:/Users/Carina/Desktop")  #修改目录
 # print(before_path)
 # print(after_path)
 # 使用open()保存
 with open('C:/Users/Carina/Desktop/pinglun.txt', 'w', encoding='utf-8') as f:  # 使用with创建对象
     for i in file:
         print(i)
         f.write(i)

(1)open方法中能够写上相对路线
(2)使用os库,getcwd()查看当前目录,使用chdir()修改目录

备考:open函数的开垦格局

参数 用法
r 只读。若不存在文件会报错。
w 只写。若不存在文件会自动新建。
a 附加到文件末尾。
rb, wb, ab 操作二进制
r+ 读写模式打开
import pandas as pd

2、使用Pandas第三方库

(1)保存数据到Excel
to_excel() :用于将DataFrame保存到Excel

#其中df为DataFrame结构的数据,sheet_name = 'Sheet1'表示将数据保存在Excel表的第一张表中
df.to_excel('文件名.xlsx', sheet_name = 'Sheet1') 

读取Excel数据
read_excel() :从excel文件中读取数据

pd.read_excel('文件名.xlsx', 'Sheet1', index_col=None, na_values=['NA'])

(2)保存数据到csv文件

  • 导入相关的库
  • 将数据存款和储蓄为DataFrame对象
  • 保存数据到csv文件

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(6,3)) #创建随机值并保存为DataFrame结构
print(df.head())
df.to_csv('file.csv')   #可以是绝对路径,若未指明就在当前目录下

提示:
即便运转以上程序出现ImportError: No module named
‘openpyxl’错误,必要设置“openpyxl”模块,openpyxl只可以操作xlsx文件而无法操作xls文件。
(pip install openpyxl)

利用import读入pandas模块,而且为了方便使用其缩写pd指代。

增补知识

1、在10分钟驾驭pandas中得以高速精晓和学习pandas的基本操作
2、阅读csv模块官方文书档案,理解使用csv模块保存数据的方法

读入待管理的excel文件:

df = pd.read_excel('log.xls')

透过利用read_excel函数读入excel文件,后边须要替换到excel文件所在的不二秘籍。读入之后成为pandas的DataFrame对象。DataFrame是多个面向列(column-oriented)的二维表结构,且含有列表和行标,对excel文件的操作就调换为对DataFrame操作。其余,假如二个excel含有多少个表,假如你只想读入在这之中二个能够:

df = pd.read_excel('log.xls', sheetname=1)

充实了二个参数sheetname,表示的是第多少个表,从0开始计数。作者上面安装的是1,也等于第3个表。

读入之后,能够先查看表头音讯和每一列的数据类型:

df.dtypes

出口如下:

Member   object
Unnamed: 1 float64
Unnamed: 2 float64
Unnamed: 3 float64
Unnamed: 4 float64
Unnamed: 5 float64
家内外活动类型  object
Unnamed: 7  object
activity  object
dtype: object

领到每一个member一而再出现的最后一行数据:

new_df = df.drop_duplicates(subset='Member', keep='last')

上述语句的情致是根据Member字段去除掉多余的行,何况保留一样行的末梢一行数据。这个就获得了每三个member最后一行的数量了,重返了经过筛选后的DataFrame。

接下去必要将拍卖后的结果,保存为excel文件:

out = pd.ExcelWriter('output.xls')
new_df.to_excel(out)
out.save()

output.xls是你要封存的公文名,能够任取;然后将DataFrame的原委保留到该文件,最后保存该文件到系统的磁盘上。

接下去,你就能够在当前目录看到三个新的文书,能够一向使用excel张开查看。

Pandas还提供了成都百货上千的API,能够依附实际的天职,查找API文书档案,找到合适的函数来形成任务。

附:二个全体的自己要作为模范遵从规则

#coding=utf-8
import pandas as pd

# 读入excel文件中的第2个表
df = pd.read_excel('log.xls', sheetname=1)
# 查看表的数据类型
print df.dtypes
# 查看Member列的数据
print df['Member']

'''
# 新建一列,每一行的值是Member列和activity列相同行值的和
for i in df.index:
 df['activity_2'][i] = df['Member'][i] + df['activity'][i]
'''

# 根据Member字段去除掉多余的行,并且保留相同行的最后一行数据
new_df = df.drop_duplicates(subset='Member', keep='last')
# 导出结果
out = pd.ExcelWriter('output.xls')
new_df.to_excel(out)
out.save()

如上那篇对Python 2.7 pandas
中的read_excel详解正是笔者分享给大家的全部内容了,希望能给我们三个仿照效法,也可望大家多多帮助脚本之家。

你或然感兴趣的小说:

  • 解决Python pandas df 写入excel
    现身的主题材料
  • Python基于xlrd模块操作Excel的不二秘诀亲自去做
  • 选取python将大气数目导出到Excel中的小技巧分享
  • 动用python对Excel中的特定数据提取并写入新表的主意
  • python
    xlsxwriter创立excel图表的章程
  • python操作excel的包(openpyxl、xlsxwriter)
  • python操作excel的艺术(xlsxwriter包的施用)
  • 行使Python处理Excel表格的简短方法
  • Python达成读取txt文件并转移为excel的点子亲自去做
  • python读取excel内定列数据并写入到新的excel方法

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 澳门新葡亰官网app 版权所有