无法将字符串转换为浮点错误,在csv fi中给出名称和数字

2024-09-30 00:24:50 发布

您现在位置:Python中文网/ 问答频道 /正文

使用一个csv文件,我需要让用户输入一个数字,并得到女演员已被提名获奖的次数。此数据在csv文件中以行为单位。你知道吗

这是一个代码,我以为会工作,给一个输出的名称,然后我要用这个来返回提名号码。你知道吗

import csv
data=csv.reader(open('Nominees_18.csv','r'))
print('Names of acresses: Sally Hawkins (1), Frances McDormand (2), Saorise Ronan (3), Margot Robbie (4), Meryl Streep (5)')

names=[]
checkn=int(input('Check Name? '))
for row in data:
    names.append(float(row[checkn]))

程序输出:

Names of acresses: Sally Hawkins (1), Frances McDormand (2), Saorise Ronan (3), Margot Robbie (4), Meryl Streep (5)
Check Name? 2

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-9-a676aea80b01> in <module>()
      7 checkn=int(input('Check Name? '))
      8 for row in data:
----> 9     names.append(float(row[checkn]))

ValueError: could not convert string to float: 'y'

Tags: 文件ofcsvnameininputdatanames
1条回答
网友
1楼 · 发布于 2024-09-30 00:24:50

你可以这样写你的代码

解决方案:

import csv
names=[]
with open('names.csv', newline='') as csvfile:
     data = csv.DictReader(csvfile)

     print('Names of acresses: Sally Hawkins (1), Frances McDormand (2), Saorise Ronan (3), Margot Robbie (4), Meryl Streep (5)')

     checkn=int(input('Check Name? '))
     for row in data:
         names.append(float(row[checkn]))

如果你显示你的确切的CSV文件结构和一个例子,我也可以测试它。上面的代码解决了你的问题,否则好评论下面

相关问题 更多 >

    热门问题