Python 将csv放入列表中,访问最后一列中的空格会导致索引超出范围
该列表是使用以下内容导入的CSV中的二维列表:Python 将csv放入列表中,访问最后一列中的空格会导致索引超出范围,python,python-3.x,csv,Python,Python 3.x,Csv,该列表是使用以下内容导入的CSV中的二维列表: filedata = open('file.csv', 'r') datareader = csv.reader(filedata, delimiter=',') data = [] for row in datareader: data.append(row) 下面是电子表格的一个示例 | 0 1 2 |-------|--------|--------------| 0| 4
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]
这样的东西,它工作正常,只会给我一个空白的返回,这就是我想要的
我认为这一行的列表不够长,但我不知道如何确保它足够长
我可以通过检查列表长度来解决获取所有信息的问题,如果列表长度小于完整列表的长度,那么它会检查该值,但我觉得有一种比检查长度更好的方法。我找到了一个解决方案,尽管它可能只适用于我的情况,我只在找
home/user/a
,home/user/b
或/home/user/c
。您可以使用数据[-1]
检查数组中最右边的元素,并可以检查它使用的是什么。这是实际csv文件的问题。因为最后一行只包含两列,所以无法访问第三列,这就是为什么索引超出范围错误的原因。你是在使用自制的.csv文件,还是用excel保存的文件?是的,我知道这就是问题所在。不,这不是自制的,是从另一个程序中吐出来的东西。我仔细浏览了一遍,没有看到任何CSV选项