python如何导入表格(python如何导入表格数据绘制图形)

http://www.itjxue.com  2023-03-30 19:51  来源:未知  点击次数: 

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读取txt文件里指定行的内容,并导入excel?

全文使用的是xlswriter模块写的,也有人使用?xlrd与?xlutils模块实现,不过还未进行验证

import xlsxwriter

workbook = xlsxwriter.Workbook("D:\\Program Files\\subpy\\sql2.xlsx")#在指定目录下创建一个excle

worksheet = workbook.add_worksheet("students")#新建一个sheet

title_index = ["A","B","C","D"]#sheet中的区域

li = [] #定义一个空列表

blod = workbook.add_format({"bold":True})#定义exlce中写入的字体with open("D:\\Program Files\\subpy\\tets.txt",'r') as f1:#打开txt文档

lines = f1.readlines()#读取所有行内容

n = -1#定义一个变量

for x in lines:#逐行读取

n=n+1

li.append(x[:-1])#去掉回车符

y= x.split#以空格分字符

for i in range(len(title_index)):#读取excle区域下标

# for i,j in enumerate(title_index):

content = y[i]#单个字符读取

worksheet.write(n,i,content,blod)#分行分列写入workbook.

close#关闭excle

txt文件可以用行号,用readlines读取出来的数据是一个列表,你可以使用:

f = open('', 'r')

line = f.readlines()

line_need = line[行号-1]

这样来取指定行

怎么通过nrows参数导入数据

1、导入excel表格数据

Excel有两种格式,分别为xls和xlsx格式,两种都可以用python的Pandas模块的read_excel方法导入。read_excel方法返回的结果是DataFrame,DataFrame的一列对应着Excel的一列

read_excel方法参数介绍:

(1)sheet_name参数:该参数用于指定导入Excel中的哪一个sheet,如果不填写这个参数,则默认导入第一个sheet

(2)index_col参数:该参数用于指定表格的哪一列作为DataFrame的行索引。从0开始计数

(3)nrows参数:该参数可以控制导入的行数,该参数在导入文件体积较大时比较有用

(4)skipfooter参数:该参数可以在导入数据时,跳过表格底部的若干行

(5)header参数:当使用Pandas的read_excel方法导入Excel文件时,默认表格的第一行为字段名。如果表格的第一行不是字段名。则需要使用该参数设置字段名

(6)usecols参数:该参数可以控制导入Excel表格中的哪些列

(7)names参数:该参数可以对导入数据的列名进行重命名

import pandas as pd# 导入pandas模块并将其缩写

df=pd.read_excel("C:/Users/kzk/Desktop/背景介绍.xlsx")#使用该方法导入数据

df

登录后复制

括号里为本地表格地址,可以通过查看属性进行获取,注意地址的分隔符时反斜杠

df1=pd.read_excel("C:/Users/kzk/Desktop/背景介绍.xlsx",index_col=0)

df1

#取消行索引

登录后复制

df2=pd.read_excel("C:/Users/kzk/Desktop/背景介绍.xlsx",nrows=5)

df2

#导入前五行

登录后复制

df3=pd.read_excel("C:/Users/kzk/Desktop/背景介绍.xlsx",header=None)

df3

#取消表格第一行为默认表头,以0123···为表头

登录后复制

df4=pd.read_excel("C:/Users/kzk/Desktop/背景介绍.xlsx",header=None,name=['A','B','C','D','E'])

df4

#取消表格第一行为默认表头,以ABCDE为表头

登录后复制

df5=pd.read_excel("",header=None,names={'A','B','C','D','E'},usecols=[1,3])

df5

#索引为1和3,也就是第二列和第四列

登录后复制

2、导入CSV格式数据

read_csv方法中的sep参数表示要导入的csv文件的分隔符,默认是半角逗号。encoding参数用来指定CSV文件的编码,常用的有utf-8h和gbk

import pandas as pd

df1=pd.read_csv("",sep=",",encoding="gbk")

df1

登录后复制

df2=pd.read_csv("",sep=",",encoding="gbk",nrows=3)

df2

#只导入前三行

登录后复制

df4=pd.read_csv("",sep=",",encoding="gbk",names=["ID","fruit","amount"])

df4

登录后复制

3、导入JSON数据

JSON数据是一种轻量级的数据交换格式,容易阅读,也容易被机器扫描,在互联网应用中很常见,有时候从后台系统中导出来的数据就是JSON格式

JSON文件实际上存储的是一个JSON对象或者一个JSON数组,JSON对象是由多个键值对组成的,类似python的字典,JSON数组由多个JSON对象组成,类似列表

import pandas as pd

json=pd.read_json("路径")

json

登录后复制

4、导入txt格式数据

使用read_table方法,参数和用法与read_csv类似

import pandas as pd

df1=pd.read_table("路径")

df1

登录后复制

5、导入(爬取)网络数据

在数据分析中,除了可以导入文件和数据库中的数据,还有一类非常重要的数据就是网络数据,网络中每天都会产生大量数据,这些数据具有实时性,种类丰富的特点,因此对于数据分析而言是十分重要的一类数据来源

关键技术:爬取网络表格类数据,pandsa库read_html()方法

read_html()方法用于导入带有table标签的网页表格数据,使用该方法前,首先要确定网页表格数据是否为table标签。右击网页中的表格查看元素

确定后才可以使用read_html的方法

常用参数说明如下

io:字符串,文件路径,也可以是URL连接,网址不接受https,可以尝试去掉s后爬取

header:指定列标题所在的行

index_col:指定列标题所在的行

index_col:指定行标题对应的列

【例】 爬取A股公司营业收入排行榜

中商情报网是专业的产业情报分享云平台,主要提供研究报告、行业分析、市场调研等数据。在本案例中,通过爬取中商情报网中A股公司营业收入排行榜表格获取相应的金融数据,数据网址为

import pandas as pd

url=""

df=pd.read_html(url)[0]#索引为0

print(df)

登录后复制

0 1 2 3

0 排名 股票代码 企业简称 营业收入(亿元)

1 1 600028 中国石化 27408.84

2 2 601857 中国石油 26143.49

3 3 601668 中国建筑 18913.39

4 4 601318 中国平安 11804.44

5 5 601390 中国中铁 10704.17

6 6 601186 中国铁建 10200.10

7 7 601398 工商银行 9427.62

8 8 601628 中国人寿 8585.05

9 9 600941 中国移动 8482.58

10 10 601939 建设银行 8242.46

登录后复制

?

2.2输出数据

1、CSV格式数据输出

【例】导入sales.csv文件中的前10行数据,并将其导出为sales_new.csv文件

关键技术:pandas库中的to_csv方法

在该例中,首先通过pandas库的read_casv方法导入sales.csv文件的前十行数据,然后使用pandas库的to_csv方法将导出的数据输出为sales_new.csv文件

import pandas as pd

df=pd.read_csv("地址",sep=","encoding="gbk",nrows=10)

df.to_csv('sales_new.csv',encoding="gbk")

登录后复制

pandas库的to_csv方法,参数说明:

path_or_buf:要保存的路径及文件名

sep:分割符,默认为","

columns:指定要输出的列,用列名,列表表示,默认值为None

header:是否输出列名,默认值为True

index:是否输出索引,默认值为True

encoding:编码方式,默认值为"utf-8" 也可以是gbk

【例】对于上一小节中的问日,如销售文件格式为:sales.xlsx文件,如何处理

关键技术:DataFrame对象的to_excel方法

与上例相似,该例首先利用Pandas库的read_excel方法读入sales.xlsx文件,然后使用to_excel方法导出新文件

import pandas as pd

df=pd.read_excel("地址")

df1=df.head(10)

df1.to_excel('sales_new.xlsx',encoding="gbk")

登录后复制

2、xlsx格式数据输出

对于Pandas库中的to_excel()方法,有下列参数说明

sheet_name:字符串,默认值为"sheet1",指包含DataFrame数据的表的名称

np_rep:字符串,默认值为’'。指缺失数据的表示方式

columes:序列,可选参数,要编辑的列

header:布尔型或字符串列表,默认值为True。如果给定字符串列表,则表示它是列名称的别名

index:布尔型,默认值为True 行名(索引)

index_label:字符串型或序列,默认值为None。如果文件数据过多的使用多索引,则需使用序列

encoding:指定Excel文件的编码方式,默认值为None

3、导入到多个sheet页中

【例】将sale.xlsx文件中的前十行数据,导出到sales_new.xlsx文件中名为df1的sheet页中将后五行数据导出到名为df2的sheet页中

首先建立df1/df2sheet页,然后使用pd.ExcelWriter方法打开sales_new.xlsx文件,再用to_excel方法导入到指定的sheet页中

如何将python导入excel,设置字号

将txt

文件导入python代码:

import

pandas

as

pd

path='1.txt'

data=pd.read_csv(path,sep='\t')

想要”优雅“导入,建议使用pandas,matplotlib:

import

pandas

as

pd

data

=

pd.read_csv("aaa.csv")

data.columns

#查看表格有哪些列,可以看到有x,

y,

z列

data['x']

#查看x列

data['y']

#查看y列

data['z']

#查看z列

import

matplotlib.pyplot

as

plt

plt.bar(data['x'],

data['y'])

#画柱状图

plt.title('example')

#设置标题

plt.xlabel('x')

#横坐标加说明文字'x'

plt.ylabel('y')

#纵坐标加说明文字'y'

plt.show()

#显示图形

新手学习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操作Excel

因为工作上的需要,最近经常用Python对报表做Excel导入导出,特此做个笔记,方便日后查看。

首先我选择了Python-Excel下的xlrd和xlwt。需要注意的是,xlwt只支持生成xls,暂时还不支持xlsx。

读取主要是用到这两个方法,我想到就继续补充,更多用法请查阅官方文档

表格样式设置有XFStyle和easyxf两种方式

列宽在Excel里面用字符宽带来表示。xlwt以字符'0'的1/256宽为一个单位,默认表格宽度为2962,大致相当于11个字符宽度。设置Excel的列宽就大致等于,字符宽度 * 256 + 182 (有待继续考证,精度目前还行)

行高再Excel里面一般用磅来表示,磅 * 20 即是xlwt的数值。字体的大小也是用磅来设置。

设置页面方向

使用num_format_str来设置单元格类型。

特别是遇到时间的时候,Excel会自动转为May-2017这种格式,这时候就要设置为文本类型,防止自动转换

(责任编辑:IT教学网)

更多

推荐Flash动画文章