python,努力绘制 CSV 文件

标签 python numpy matplotlib

正如标题所解释的,我正在尝试读取 CSV 文件并绘制它,该文件采用以下格式:

Dishwasher,60,1,1,1,0,0,1

Washing Machine,200,0,0,0,0,1,1

我只想在末尾绘制 6 位数字。

这是迄今为止我的代码:

import matplotlib.pyplot as plt
import numpy as np
import csv
y1=[]
y2=[]

x = np.array([1,2,3,4,5,6])
with open('File.csv', 'r') as csvfile:
    plots = csv.reader(csvfile, delimiter=',')
    rows = [row for row in plots]
y1=int((rows[0])-2)
y2=int((rows[1])-2)

plt.plot(x,y1, label='Washing Machine')
plt.plot(x,y2, label='Dishwasher')
plt.show()

我已经尝试解决这个问题几个小时了,但我所做的一切都会带来新的错误。

在这段代码中,错误是:

TypeError: unsupported operand type(s) for -: 'list' and 'int'

根据我的理解,这意味着它试图将列表转换为整数,这是不可能的?感谢您的帮助

最佳答案

在这两行中:

y1=int((rows[0])-2)
y2=int((rows[1])-2)

您将列表的第一个和第二个元素减去 2 并转换为 int,将其分配给变量 y1y2 这意味着你不能从列表中减去 int

我建议您在绘制之前检查您的值,您可以使用调试器或仅打印 rowsy1y2,然后您将对正在发生的事情有更多的了解

错误告诉您到底发生了什么:

TypeError: unsupported operand type(s) for -: 'list' and 'int'  

试试这个:

y1=rows[0][2:]
y2=rows[1][2:]

关于python,努力绘制 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62127261/

相关文章:

python - Google Drive API 从字符串上传文件

python - 在 matplotlib 中绘制 3D 凸封闭区域

python - 如何在 numpy/scipy 中按行计算矩阵?

Python:将数组逐行写入文件

python - 值错误 : Feature not in features dictionary

python - 如何在 Python Seaborn 的线图中的每个标记上添加值/标签?

python - 在抓取大图像期间如何减少/限制带宽?

python - 在 Pandas 的日期列中查找更改

Python:给定一个平面方程绘制属于它的点的子集

python - PyGTK:移动自定义构建工具提示窗口