从Python(Selenium)中的CSV文件发布拉取列表
我的代码接受输入并成功写入“data.csv”文件,但只要输入了多个数字作为初始输入(例如“98765 12345”),我就会在最后一行得到从Python(Selenium)中的CSV文件发布拉取列表,python,selenium,csv,Python,Selenium,Csv,我的代码接受输入并成功写入“data.csv”文件,但只要输入了多个数字作为初始输入(例如“98765 12345”),我就会在最后一行得到索引器:列表索引超出范围 有人能看出我哪里做错了吗 x = raw_input('Enter numbers separated by a space: ') new_FONs = [[int(i)] for i in x.split()] with open('data.csv', 'a+') as f: writer = csv.writer(
索引器:列表索引超出范围
有人能看出我哪里做错了吗
x = raw_input('Enter numbers separated by a space: ')
new_FONs = [[int(i)] for i in x.split()]
with open('data.csv', 'a+') as f:
writer = csv.writer(f)
writer.writerows(new_FONs)
with open('data.csv', 'r') as f:
all_FONs_str = [line.split() for line in f]
all_FONs = [[int(FON[0])] for FON in all_FONs_str]
for FON in new_FONs:
# Count the occurence of this number in the CSV file
FON_count = all_FONs.count(FON)
if FON_count == 1:
print('once')
elif FON_count == 2:
print('twice')
将最后一个循环限制为倒数第二个元素应该做到:
x = raw_input('Enter numbers separated by a space: ')
new_FONs = [[int(i)] for i in x.split()]
with open('data.csv', 'a+') as f:
writer = csv.writer(f)
writer.writerows(new_FONs)
with open('data.csv', 'r') as f:
all_FONs_str = [line.split() for line in f]
all_FONs = [[int(FON[0])] for FON in all_FONs_str[:-1]]
all\u FONs\u str
的最后一个元素是什么?@JuanC应该只是一个数字作为字符串?@bboooy在英国不是。您应该查看csv文件本身,或者在最后一行之前打印(all_FONs_str)以查看问题。我在评论中提供的链接将解决此问题。@Chris我认为这是因为它在csv文件中添加了一个空白的额外行。。。由于某些原因,当我做一个for循环时,它从最后一个值运行到第一个,这是遇到空白。有办法解决这个问题吗?将为原始问题添加for循环