我试图创建一个只包含文件1中的名称而不包含在文件1中的名称的文件。运行以下代码时出错:
import pandas
import csv
f = pandas.read_csv('hillelclass2019.csv')
g = pandas.read_csv('shabsignup.csv')
for i in range(193): #length of data1
x = str(f['First Name'][i]) + " " + str(f['Last Name'][i]) #first name + last name
a = 0 #initial
for j in range(25): #length of data2
if g['Name'][j] == x: #if name == name on other sheet, then a == 1
a == 1
if a == 0: #if names are not equal
with open('noshab.csv', 'a') as f: #write name to file
wtr = csv.writer(f, delimiter= ',')
wtr.writerow( [x,i])
错误:
^{pr2}$当我将I设置在范围(1)中并且只运行1次迭代时,代码可以工作,但是对于多行代码不起作用。在
您已经将},因此它显然失败了:
f
绑定到循环中的一个file对象,因此在一次迭代之后,它不再指向您的df
,因此f['First Name'][i]
不是{将名称从
^{pr2}$f = pandas.read_csv('hillelclass2019.csv')
更改为df = pandas.read_csv('hillelclass2019.csv')
,并使用df
引用代码中的数据帧:另一个注意事项是,}。在
if g['Name'][j] == x:
里面的a == 1
什么都没有做,我想你是指{发生错误是因为您试图像dict一样访问文件实例
f['First Name']
或任何其他密钥访问在文件实例上不起作用。在错误是指一个
__getitem__
函数,该函数在任何时候都被暗中调用,试图使用[]
索引到一个对象中,通常是dict或类似的键控结构。在相关问题 更多 >
编程相关推荐