1628人加入学习
(19人评价)
Python数据分析 - Pandas玩转Excel

Python数据分析轻松学

价格 $99美元

笔记,不错。

不能直接贴屏?!

图片要用文件上传模式,一般。

 

[展开全文]
itbj00 · 2019-03-02 · 读取文件 0

一、涉及知识点

1、pandas读取已经存在的Excel文件

2、涉及的BIF操作:

df=pd.read_excel('F:/sdf/sdf/output.xlsx',header=None)

pd.to_excel('F:/sdf/sdf/output1.xlsx')

df.shape

df.columns

df.header(5)

df.tail(5)

二、问题点

1、读取xls文件异常(xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'Test Tim'

原因:源文件损坏,或者格式有问题(虽然是以.xls结尾,但实际上内容格式有问题的)

[展开全文]

import pandas as pd

people=pd.dread_excle('C:/Temp/people.xlsx')

print(people.shape)

print(people.columns)

print('==================')

print(people.tail(3))

[展开全文]
kuokung · 2019-01-18 · 读取文件 0

read_excel()方法可以使用xlrd Python模块读取Excel 2003(.xls)和Excel 2007+(.xlsx)文件。 to_excel()实例方法用于将DataFrame保存到Excel

people.shape 显示(行数,列数)

people.columns显示Index[Titile]

people.head(3)看前三行数据

people.coumns=[]手动设置header

header默认值为0,当一行为错误数据时可以将header改为1实现正确

 

 

 

[展开全文]

 pandas 读取现有excel文件的方法:

import pandas as pd
people = pd.read_excel('c:/Temp/People.xlsx')

几个常用的方法:

  • .shape: 读取excel的总行数和总列数;
  • .columns:读取excel中所有列的标题
  • .head(n): 读取除标题外的前n行数据,默认为5行
  • .tail(n): 读取末尾n行数据,默认为5行
import pandas as pd
people = pd.read_excel('c:/Temp/People.xlsx')

print(people.shape)
print('=====================')
print(people.columns)
print('=====================')
print(people.head(3))
print('=====================')
print(people.tail(3))

输出结果为

(19972, 6)
=====================
Index(['ID', 'Type', 'Title', 'FirstName', 'MiddleName', 'LastName'], dtype='object')
=====================
   ID      Type Title FirstName MiddleName    LastName
0   1  Employee   NaN       Ken          J     Sánchez
1   2  Employee   NaN     Terri        Lee       Duffy
2   3  Employee   NaN   Roberto        NaN  Tamburello
=====================
          ID                 Type Title FirstName MiddleName LastName
19969  20775  Individual Customer   NaN   Crystal          S       He
19970  20776  Individual Customer   NaN   Crystal        NaN    Zheng
19971  20777  Individual Customer   NaN   Crystal        NaN       Hu

集中常见的特殊情况:

1. 当目标文件的首行不是我们想要的header的时候。需要自定义header的行。

注:编程语言的编号是从0开始的,而excel的行号是从1开始的。

例如:目标文件的header行是exel的第二行,那么代码如下:

import pandas as pd
people = pd.read_excel('c:/Temp/People.xlsx',header=1)

print(people.columns)

2。 当目标文件没有header的时候,此时需要pandas我这个文件没有header

代码如下:

import pandas as pd
people = pd.read_excel('c:/Temp/People.xlsx',header=None)

print(people.columns)

这样pandas将默认用整数字来作为header。如上代码输出如下:

Int64Index([0, 1, 2, 3, 4, 5], dtype='int64')

 此时要想再给目标文件添加header的话,代码如下:

import pandas as pd
people = pd.read_excel('c:/Temp/People.xlsx',header=None)
people.columns=['ID','Type','Title','FirstName','MiddleName','LastName']
print(people.columns)

打印结果

Index(['ID', 'Type', 'Title', 'FirstName', 'MiddleName', 'LastName'], dtype='object')

注:此时虽然我们在程序里面为目标文件添加了header,但实际上并没有写入目标文件people.xlsx

如果想要将增加了header的文件在实际文件里体现,有两种方法:

方法1: 输出到一个新的文件

代码如下:

import pandas as pd
people = pd.read_excel('c:/Temp/People.xlsx',header=None)
people.columns=['ID','Type','Title','FirstName','MiddleName','LastName']
print(people.columns)

people.to_excel('C:/Temp/output.xlsx')
print('done!')

注:此时输出的新目标文件包含了我们刚才在程序里面定义的header,同时系统也自动为新文件增加了默认的索引。

我们需要将“ID”指定为索引:

------------复习指定索引------------

import pandas as pd
people = pd.read_excel('c:/Temp/People.xlsx',header=None)
people.columns=['ID','Type','Title','FirstName','MiddleName','LastName']
people = people.set_index('ID')
print(people.columns)

people.to_excel('C:/Temp/output.xlsx')
print('done!')

此方法的一个特点是需要产生一个新的DataFrame,然后在通过people这个变量来重新引用它

--------------复习结束--------------

指定索引的另外一种方式:直接在当前DataFrame上进行修改。

代码如下:

people = pd.read_excel('c:/Temp/People.xlsx', header=None)
people.columns = ['ID', 'Type', 'Title', 'FirstName', 'MiddleName', 'LastName']
people.set_index('ID', inplace=True)
print(people.columns)

people.to_excel('C:/Temp/output.xlsx')
print('done!')

注意:此时的“ID”列已经被定义为了“index”,在我们打印columns的时候index的列名是不会被打印的。

 

***当我们在使用pandas.read_excel方法读取一个现有的excel文件的时候如果知道该文件的哪一列为index列,则需要指定出来,否则程序会在读取后自动为目标文件添加一个默认的index列。

代码示例:

import pandas as pd

df = pd.read_excel('C:/Temp/output.xlsx',index_col='ID')
df.to_excel('C:/Temp/output2.xlsx')
print('done!')

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[展开全文]
Lewin · 2018-10-09 · 读取文件 4

授课教师

Tim老师

课程特色

视频(30)
下载资料(25)

学员动态

Adamzyf 加入学习
Marstapeworm 加入学习
alpha 加入学习
elllen 完成了 Code for 002
elllen 开始学习 Code for 002