在python中读取csv文件前十行用柱状图显示出来,要求依次读取,遇到相同名称的依旧显示
时间: 2024-03-09 16:49:22 浏览: 57
要将前十行数据用柱状图显示出来,可以使用Python中的Matplotlib库。以下是示例代码:
```python
import csv
import matplotlib.pyplot as plt
import numpy as np
filename = 'data.csv'
header = []
data = {}
with open(filename, 'r') as csvfile:
reader = csv.reader(csvfile)
# 读取表头
header = next(reader)
# 读取前十行数据
for i, row in enumerate(reader):
if i >= 10:
break
# 将每一列的数据保存到字典中
for j, value in enumerate(row):
if header[j] in data:
data[header[j]].append(value)
else:
data[header[j]] = [value]
# 绘制柱状图
x = np.arange(len(header))
plt.xticks(x, header)
for i in range(10):
y = [float(data[h][i]) if h in data and data[h][i] != '' else 0 for h in header]
plt.bar(x, y)
plt.show()
```
以上代码会将csv文件的前十行数据保存到字典中,并依次绘制柱状图。如果某一列的数据为空或不是数字,将在柱状图中显示为0。
阅读全文