到目前为止,我一直在用python2.7编写代码,并尝试使用python3
我正面临着一个问题,那就是添加到一个我不理解的列表中,这让我感到困惑
with open('path/AuthorNames.csv' ,'r') as f:
reader = csv.reader(f)
your_list = list(reader) ## this generates [[auther1],[auther2],...]
l2 = []
for item in your_list:
l2.append(item[0])运行此命令会导致IndexError:列表索引超出范围
为什么?我有一个空列表,我正在将for循环中的项添加到该列表中,我不会更改现有列表。
在python3中有没有新的列表处理方法?
Your_list中的for item示例:打印项目
['\ufeffArticle Author']
['Thomas B. Bennettd1 Barry Friedmandd1 Andrew D. Martinddd1 Susan Navarro Smelcer']
['Thomas B. Bennettd1 Barry Friedmandd1 Andrew D. Martinddd1 Susan Navarro Smelcer']
['Thomas B. Bennettd1 Barry Friedmandd1 Andrew D. Martinddd1 Susan Navarro Smelcer']
['Thomas B. Bennettd1 Barry Friedmandd1 Andrew D. Martinddd1 Susan Navarro Smelcer']
['Thomas B. Bennettd1 Barry Friedmandd1 Andrew D. Martinddd1 Susan Navarro Smelcer']
['Thomas B. Bennettd1 Barry Friedmandd1 Andrew D. Martinddd1 Susan Navarro Smelcer']发布于 2019-02-20 08:35:10
我看到的唯一可能是your_list中有一个空列表。
尝试:
with open('path/AuthorNames.csv' ,'r') as f:
reader = csv.reader(f)
your_list = list(reader) ## this generates [[auther1],[auther2],...]
l2 = []
for item in your_list:
if item:
l2.append(item[0])或者使用列表理解,
l2 = [item[0] for item in your_list if item](在这里使用列表理解是@John Coleman的想法,只是为了这个答案的完整性而在这里添加。)
正如我在评论中所写的,您可能希望检查您的csv文件,看看空行是否正常,或者您的数据是否有问题。
https://stackoverflow.com/questions/54776957
复制相似问题