从.rtf文件导入数据时使用int()时出错

时间:2018-12-20 14:09:35

标签: python csv matplotlib

我是编码新手,可能在这里遗漏了一些东西。我正在尝试导入.rtf文件,但是x.append(int(row [0]))出现以下错误,我的代码错误:

ValueError: invalid literal for int() with base 10: 

这是我的代码:

with open('example.rtf', 'r') as csvfile:
    plots = csv.reader(csvfile, delimiter = ',')
    for row in plots: 
        x.append(int(row[0]))
        y.append(int(row[1]))

作为参考,这是我的数据: 1,5 2,3 3,4 4,7 5,4 6,3 7.5 8,7 9,4 10,4

2 个答案:

答案 0 :(得分:0)

在代码中添加一些错误报告,您将得到原因:

with open('example.rtf', 'r') as csvfile:
    plots = csv.reader(csvfile, delimiter = ',')
    for row in plots:
        try:
            x.append(int(row[0]))
            y.append(int(row[1]))
        except ValueError as ex:
            print ('Oh, NO!! This line is bad: {} - {}'.format(row, ex))

答案 1 :(得分:0)

打开一个记事本,然后粘贴您的csv文件数据。就像您提到的那样:

1,5 2,3 3,4 4,7 5,4 6,3 7,5 8,7 9,4 10,4

并将其另存为filename.rtf

然后简单地运行代码

很好,该错误是因为当我们在某些应用程序中打开文件并且在进行一些编辑后尝试将其保存时,应用程序有时会要求使用文本格式选项来对数据进行一些更改。