将csv放入列表中,访问最后一列中的空白区域会使索引超出范围

时间:2018-04-21 21:25:51

标签: python python-3.x csv spreadsheet

该列表是使用以下内容导入的CSV中的2D列表:

filedata = open('file.csv', 'r')
datareader = csv.reader(filedata, delimiter=',')
data = []
for row in datareader:
    data.append(row)

以下是电子表格的示例

 |  0      1           2       
 |-------|--------|--------------|
0|   4   |   5    | home/user/a  |
1|   3   |   6    | home/user/b  |
2|       |        | home/user/b  |
3|   7   |   34   |              |

并以CSV格式

4,5,home/user/a
3,6,home/user/b
,,home/user/b
7,34

如果我尝试获取CSV中空白但仅在最后一行中的数据值,则会出现此问题。所以像data[3][2]这样的东西会给我一个越界错误但是如果我调用类似data[2][0]之类的东西它可以正常工作,只是给我空白,这就是我想要的。

我认为它不会使该行的列表足够长,但我不知道如何确保它足够长

我能够通过检查列表长度来获取所有信息的解决方法,如果它小于完整列表的长度,那么它会检查该值,但我觉得有更好的方法来做到这一点然后检查长度。

1 个答案:

答案 0 :(得分:1)

我找到了一个解决方案,虽然它可能只适用于我的情况,但我只是在寻找home/user/ahome/user/b/home/user/c。您可以使用data[-1]并检查数组中最右边的元素,并可以检查它使用的是什么。