【发布时间】:2015-07-21 06:35:08
【问题描述】:
我有这个 csv 文件
Cat, and, dog, bites
Yahoo, news, claims, a, cat, mated, with, a, dog, and, produced, viable, offspring
Cat, killer, likely, is, a, big, dog
Professional, free, advice, on, dog, training, puppy, training
Cat, and, kitten, training, and, behavior
Dog, &, Cat, provides, dog, training, in Eugene, Oregon
Dog, and, cat, is, a, slang, term, used, by, police, officers, for, a, male-female, relationship
Shop, for, your, show, dog, grooming, and, pet, supplies
我想让所有单词都以小写字母开头,并创建一个列表,其中将包含上述 csv 文件中的所有唯一项目。 你有什么想法吗?提前致谢! 到目前为止,我已经成功地将所有单词都转换成了一个小写字母:
unique_row_items = set([field.strip().lower() for field in row])
但我无法管理另一个。
def unique():
rows = list(csv.reader(open('example_1.csv', 'r'), delimiter=','))
result = []
for r in rows:
key = r
if key not in result:
result.append(r)
return result
这没有给出我想要的结果
【问题讨论】:
-
要格式化代码或类似的预格式化文本块,请使用
{}按钮(如果您需要手动操作,这会将其缩进 4 个空格并确保前后有一个空行),而不是I按钮。我为你修好了这个。 -
这是我现在尝试做的,谢谢!
-
csv模块将为您解析文件,并将每一行作为列列表提供给您。您可以使用dict或`set` 来存储唯一项目,具体取决于您要存储的确切内容(只是值,还是映射到值的键?)。您可以对字符串使用lower()方法将其转换为小写。您可以使用row[0]访问列表的第一个元素,或者使用for循环访问每个元素。所以,尽你所能,然后告诉我们你在哪里卡住了。 -
这是我尝试过的:
-
def unique(): rows = list(csv.reader(open('example_1.csv', 'r'), delimiter=',')) result = [] for r in rows: key = r 如果 key 不在结果中:result.append(r) 返回结果
标签: python list file csv unique