我正在尝试从我的 csv 文件中读取我的内容,对其进行迭代以查找某些字符串,然后在找到所述字符串时添加带有新字符串的另一行和一列。例如,我试图遍历文件以查找字符串面粉(但数据类型表示它的对象,我假设的字符串值),如果在该列中找到面粉,我可以附加一个名为 Allergen1 的新行并将其称为 Gluten。计划是对更多的过敏原做同样的事情。就像 Allergen2 会是鸡蛋等。以下是我到目前为止所拥有的。
CSV 看起来像这样。它太大了,我无法在这里输入,但这里是原始 csv 文件的链接。在此处输入链接描述。
本节让我添加一个名为 Allergen1 的新行并在该列中插入“面粉”。使用时,它本身就可以正常工作。testing.csv 只是我在本地制作的一个文件,因此我可以测试结果。
input_file = pd.read_csv('recipes.csv')
input_file['Allergen2'] = 'flour'
input_file.to_csv('testing.csv', index=False)
这就是我到目前为止所拥有的,只是一个基本的迭代。我尝试了不同的 pandas 和 python 方式来读取 csv 文件。
input_file = csv.DictReader(open('recipes.csv'))
for row in input_file:
if ('flour') in row.values():
input_file['Allergen100'] = 'Gluten'
input_file.to_csv('testing.csv', index = False)
我的问题是迭代工作得很好,它从我的 csv 打印每一行。我只是不知道如何在我的 if 语句中使用我从上面添加的新行和列段。我得到的错误是
TypeError:“DictReader”对象不支持项目分配
有谁知道这是什么意思,我该如何解决?