python数据读取与可视化(1)——CSV格式

news/2024/10/18 5:54:08/

CSV格式文件读取与可视化

一 CSV

 CSV文件以纯文本的形式储存数字和字母,各个数据之间一般用逗号作为分隔符。是一种通用的,相对简单的文件格式,被广泛使用。常用于在不同的程序之间传递表格数据

举个🌰
年,制造商,型号
1997,Ford,E350
1999,Chevy,"Venture "“Extended Edition”
1999,Chevy,"Venture "“Extended Edition”

二 如何得到CSV

 法一:用记事本按照csv的格式书写,保存为csv文件
 法二:用Excel书写,保存时改为csv
在这里插入图片描述

三 CSV文件的处理

1 导入文件

 将文件放置到当前项目所在的文件夹中
在这里插入图片描述

2 读取数据

#导入csv库
import csvfilename = "economy development.csv"
with open(filename) as f:reader = csv.reader(f) #使用reader类rows = next(reader)#调用next方法,rows储存每一列的第一个print(rows)# 

result:

['地区', '经济总量', '增速']

枚举rows中的元素

for index, column_header in enumerate(rows):print(index, column_header)

result:

0 地区
1 经济总量
2 增速

建立两个空列表储存row[0] and row[1]中的地区和经济总量

 enconomic = []place = []for row in reader:enconomic.append(row[1])place.append(row[0])

在这里插入图片描述

3 数据的可视化

 数据可视化,当然是使用matplotlib
 详解传送门

一些小问题的处理

由于matplotlib不含中文字体,所以中文字体会被显示为[]在这里插入图片描述
所以我们要在文件中引入中文字体

# 查看系统中的字体
from matplotlib import font_manager
a = sorted([f.name for f in font_manager.fontManager.ttflist])
for i in a:print(i)

下面是我的一些字体
在这里插入图片描述
再在脚本前面加上这个即可

plt.rcParams['font.sans-serif'] = ['Songti SC']
# Songti SC 是字体名
plt.rcParams['axes.unicode_minus'] = False

完整代码如下

import matplotlib.pyplot as plt
import csvplt.rcParams['font.sans-serif'] = ['Songti SC']
plt.rcParams['axes.unicode_minus'] = Falsefilename = "economy development.csv"
with open(filename) as f:reader = csv.reader(f)enconomic = []place = []for row in reader:if row[1] != "经济总量":# 开头如果是英文好像就没有这个困惑,不必进行判断e = float(row[1])enconomic.append(e)if row[0] != "地区":place.append(row[0])
fig = plt.figure(dpi=120, figsize=(8, 6))
plt.plot(place, enconomic)
plt.xlabel("地区", fontsize=20)
plt.ylabel("2020全年GDP/亿", fontsize=20)
plt.title("2020前11省市GDP")
plt.ylim(-10,120000)
plt.show()

结果如下
在这里插入图片描述
然而这种方法还是不够直观

一点优化


通过调用plt.text( )对每一点进行标注
在plot( )中的marker

plt.plot(place, enconomic, label='经济发展', linewidth=3, color='black', marker='o',markerfacecolor='red', markersize=12)# 对点用圆点进行标注
for a, b in zip(place, enconomic):plt.text(a, b, b, ha='center', va='bottom', fontsize=14)#text方法用enconomic中的值

效果如下:
在这里插入图片描述
欢迎大家点赞三连



http://www.ppmy.cn/news/589279.html

相关文章

.CSV文件 逗号分隔值

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列&…

四海众联E350N水滴吸顶AP适配说明

近期,蓝海卓越(freeac)同四海众联达成AP合作意向,蓝海卓越以其AP适配、硬件AC、云AC及portal/Radius运营平台等软件技术优势结合四海众联在AP、嵌入式设备等方面硬件优势进行合作。 E325N水滴吸顶AP作为双方首个合作的AP适配硬件…

使用Abaqus FEA 与 Python 进行复合材料热导率的确定:以多次迭代模拟实验并结果数据记录为例

在复杂的工程问题中,有时我们会遇到一些需要用到复合材料的情况,这些复合材料可能包含了各种各样的夹杂物。对于这些复合材料的性质,比如热导率,我们可能会希望能够通过实验或者模拟来获取。在本文中,我将介绍一种使用…

人脸跟踪:基于人脸检测API的连续检测与姿态估计技术

人脸跟踪技术在视频监控、虚拟现实和人机交互等领域发挥着重要作用。通过连续的人脸检测与姿态估计,可以实现对人脸在视频序列中的跟踪和姿态分析。 本文将介绍基于人脸检测API的人脸跟踪技术,探讨其原理、应用场景以及未来发展前景。 人脸跟踪的意义和…

ThinkPHP 对接美团大众点评团购券(门票)

一、功能简要介绍 1、根据需求,用户在美团大众点评中所购买的门票在自己的系统上可以核销,同时把核销信息存储到自己的系统里。2、美团点评API文档地址:[https://open.dianping.com/document/v2?rootDocId5000](https://open.dianping.com/…

CSS常用字体名列表

windows常见内置中文字体 字体中文名字体英文名宋体SimSun黑体SimHei微软雅黑Microsoft Yahei微软正黑体Microsoft JhengHei楷体KaiTi新宋体NSimSun仿宋FangSong OS X常见内置中文字体 字体中文名字体英文名苹方PingFang SC华文黑体STHeiti华文楷体STKaiti华文宋体STSong华文…

C++ 花括号 { } 初始化总结

在C11及以后的版本中,花括号{}语法在不同语境下有不同的用法,下面总结使用{}的常见场景: 1 列表初始化 List Initialization {}可以使用列表初始化的方式初始化对象,包括内置类型,数组,容器等。如&#x…

css设置字体

font-family: Mac OS的一些: 华文细黑:STHeiti Light [STXihei] 华文黑体:STHeiti 华文楷体:STKaiti 华文宋体:STSong 华文仿宋:STFangsong 儷黑 Pro:LiHei Pro Medium 儷宋 Pro&…