千家信息网

Python怎么实现从文件中加载数据

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"Python怎么实现从文件中加载数据",在日常操作中,相信很多人在Python怎么实现从文件中加载数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"P
千家信息网最后更新 2026年11月01日Python怎么实现从文件中加载数据

这篇文章主要介绍"Python怎么实现从文件中加载数据",在日常操作中,相信很多人在Python怎么实现从文件中加载数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python怎么实现从文件中加载数据"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

我们将使用内置的 csv 模块加载CSV文件

CSV文件是一种特殊的文本文件,文件中的数据以逗号作为分隔符,很适合进行数据的解析。先用excle建立如下表格和数据,另存为csv格式文件,放到代码目录下。

包含在Python标准库中自带CSV 模块,我们只需要import进来就能使用。比如我们需要将上面的CSV文件都打印出来,代码 如下:

import csv  #import csv 用来导入csv模块filename = 'E:\WorkSpace\python\coding\score.csv'  #文件保存的绝对路径with open(filename) as file_csv:      #是不是忘记了如何打开文件?打开文件,并将结果文件对象存储在file_csv中    reader = csv.reader(file_csv)     #直接调读取 用csv.read()读取文件内容      for row in reader: #   用for循环打印每一行        print(row)

运行结果如下:

['Name', 'Grade', 'Class', 'Age', 'mathscore', 'Englishscore']
['Lucy', '7', '2', '14', '95', '86']
['bush', '8', '1', '15', '80', '75']
['lily', '7', '3', '14', '93', '95']
['Jack', '8', '2', '14', '87', '84']
['Mary', '9', '1', '15', '85', '86']
['philip', '7', '3', '14', '90', '92']
['Liming', '9', '2', '16', '99', '87']

打印文件头及其位置

读入文件,是为了获取其中的数据,需要将相关信息进行分离,先看看如何读出头即文件的第一行, next()返回文件中的下一行。

import csv  #import csv 用来导入csv模块filename = 'E:\WorkSpace\python\coding\score.csv'  #文件保存的绝对路径with open(filename) as file_csv:      #是不是忘记了如何打开文件?打开文件,并将结果文件对象存储在file_csv中    reader = csv.reader(file_csv)     #直接调读取 用csv.read()读取文件内容      header_row = next(reader)   #模块csv包含函数 next() ,调用它并将阅读器对象传递给它时,它将返回文件中的下一行。                                #调用了next()一次,因此得到的是文件的第一行,其中包含文件头      #for row in reader: # 用for循环打印每一行       # print(row)    for index, column_header in enumerate(header_row):  #对列表调用了enumerate()来获取每个元素的索引及其值        print(index, column_header)

运行后的结果如下所示:

0 Name
1 Grade
2 Class
3 Age
4 mathscore
5 Englishscore

提取其中索引,即name的索引为0,Grade的索引为1,知道了索引便可以读取其中的任何数据,比如我们要打印出mathscore,索引为4,于是代码如下:

scores =[] 定义一个空的list    for row in reader:        scores.append(int(row[4])) #读取的文件,默认为字符串,用int()转换为数字。    print(scores)

运行结果:

[95, 80, 93, 87, 85, 90, 99]

接下来,制作图表展示一下,先把mathscore和englishscore分数做个柱状对比。代码如下:

import matplotlib.pyplot as pltimport csv  #import csv 用来导入csv模块filename = 'E:\WorkSpace\python\coding\score.csv'  #文件保存的绝对路径with open(filename) as file_csv:      #是不是忘记了如何打开文件?打开文件,并将结果文件对象存储在file_csv中    reader = csv.reader(file_csv)     #直接调读取 用csv.read()读取文件内容       header_row = next(reader)   #模块csv包含函数 next() ,调用它并将阅读器对象传递给它时,它将返回文件中的下一行。                                #调用了 next() 一次,因此得到的是文件的第一行,其中包含文件头    mathscores =[] #定义两个列表    englishscores=[]    for row in reader:        mathscores.append(int(row[4]))     #读取索引为4的数据,默认为字符串,用int()转换为数字。        englishscores.append(int(row[5]))  #读取索引为5的数据,用int()转换为数字。        plt.bar([1,3,5,7,9,11,13],mathscores,label='math',color='#FF2204')     plt.bar([2,4,6,8,10,12,14],englishscores, label='englis', color='g')plt.legend()plt.title('scores') plt.show()

已将那些打印相关代码删除。看运行结果:

接下来,我们读取文件 ,并根据文件中的时间来绘制图表

新建一个年份的数据(真的是胡编乱造的数据),第一列是年份,第二列每年毕业的人数,第三列是每年申请人数,如图所示:

要求:

1,按年份分别显示出每年两者的人数,并用不同的颜色表示;

2、两者间也用其他颜色进行填充。

完成代码如下:

import matplotlib.pyplot as pltimport csv  #import csv 用来导入csv模块from datetime import datetime #引入时间相关模块filename = 'E:\WorkSpace\python\coding\graduatesNumbers.csv'  #文件保存的绝对路径with open(filename) as file_csv:      #是不是忘记了如何打开文件?打开文件,并将结果文件对象存储在file_csv中    reader = csv.reader(file_csv)     #直接调读取 用csv.read()读取文件内容       header_row = next(reader)       dates=[]                                numbers=[]    application_numbers=[]    for row in reader:         current_date = datetime.strptime(row[0], "%Y/%m/%d") #年份,strptime()日期格式转化为字符串格式的函数        dates.append(current_date)        numbers.append(int(row[1]))      #读取索引为1的数据,默认为字符串,用int()转换为数字,即Numbers of graduates 。        application_numbers.append(int(row[2])) #读取索引为2的数据,即Number of applicants        plt.plot(dates,numbers,label='Numbers of graduate', c='red') #显示第一条线plt.plot(dates,application_numbers,label='Number of applicant', c='green')  #显示第二条线application_numbers折线plt.fill_between(dates,numbers, application_numbers, facecolor='blue', alpha=0.5)   #在两线之间填充颜色  alpha透明度    plt.title("The numbers of graduate",fontsize=24)plt.xlabel('Years', fontsize=16)plt.ylabel("The numbers", fontsize=16)plt.legend()plt.show()

实际运行结果如下:

到此,关于"Python怎么实现从文件中加载数据"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

文件 数据 索引 模块 结果 一行 代码 对象 并将 运行 中加 内容 字符 字符串 年份 数字 路径 存储 学习 接下来 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖北九亚互联网络科技有限公司 华服互联网科技靠谱吗 江苏根荣互联网科技 远信互联网科技 融势互联网科技 深圳艾佳互联网科技 科技伦理 互联网公司 青岛中康互联网医疗科技有限公司 银川新华互联网科技学校联系电话 互联网金融科技展 中国互联网公司排名锤子科技 区块链结合互联网科技 智帮互联网科技公司最近动向 互联网科技年终奖 宁波跨境商互联网科技有限公司 互联网界的黑科技 宁波允成互联网科技有限公司 如何强化互联网金融科技 科技发展第三阶段互联网时代 互联网 科技节活动 微视频大赛 深圳恒合互联网络科技有限公司 互联网科技与金融科技 善班互联网科技 电子科技大学互联网 中国最先进互联网科技公司 赶超互联网科技 微信多开 科技大学互联网 特约风豹互联网科技为什么扣费 盐城市攀科互联网科技有限公司 河南商务圈互联网科技有限公司
0