python - CSV文件解析(python)

标签 python csv

我在解析包含 14 列的 csv 文件时遇到一些问题。

for row in training_set_data:
    if skiprow:
            skiprow = False
    else:
            for r in range(len(row)):
                    row[r] = float(row[r])
            training_set.append(row)

这似乎只是为了获取向量列表,但我接下来要做的是收集每行中的前 13 个条目并制作一组向量,然后收集最后一列并制作一个单独的一组向量。对于 13 个入口向量,我的代码目前看起来像这样:

def inputVector(inputs):
    for r in inputs:
        inputs.pop(13)
    return inputs

这不起作用,当我打印它时,它仍然有 14 个条目。谁能告诉我我做错了什么?抱歉,如果这个问题没有太大意义,我对编码还很陌生。

编辑:csv 文件的前 11 行和对输入 vecto 的调用

53,1,3,130,197,1,2,152,0,1.2,3,0,3,0
42,1,4,136,315,0,0,125,1,1.8,2,0,6,1
46,1,4,140,311,0,0,120,1,1.8,2,2,7,1
42,1,4,140,226,0,0,178,0,0,1,0,3,0
54,1,4,140,239,0,0,160,0,1.2,1,0,3,0
67,0,3,115,564,0,2,160,0,1.6,2,0,7,0
65,0,3,140,417,1,2,157,0,0.8,1,1,3,0
56,0,4,134,409,0,2,150,1,1.9,2,2,7,1
65,0,3,160,360,0,2,151,0,0.8,1,0,3,0
57,0,4,120,354,0,0,163,1,0.6,1,0,3,0
55,0,4,180,327,0,1,117,1,3.4,2,0,3,1

inputV = inputVector(training_set)

最佳答案

问题是这段代码:

def inputVector(inputs):
    for r in inputs:
        inputs.pop(13)
    return inputs

您正在遍历所有 inputs,并从 inputs 而不是 r 中移除元素。要从每一行中删除元素 13,请改为执行以下操作:

def inputVector(inputs):
    for r in inputs:
        r.pop(13)  # <-- replaced inputs with r
    return inputs

关于python - CSV文件解析(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21869048/

相关文章:

python - 有没有办法在 Keras Conv2D() 函数中设置音频数据输入矩阵的总文件数?

python - 如何为 REST View 类使用 @condition 装饰器

regex - 使用 sed 或其他命令行工具转义 CSV 文件

java - 如何从java中的字符串指定类属性

python - 避免在使用 Pandas 数据框读取时自动将数据转换为 int

python - 如何解决 django 的 did not return httpresponse 错误?

python - 当我未超出速率限制时收到 Github APi 403 错误

python - 为什么 multiprocessing.pool.map 引发 PicklingError(编码)?

reporting-services - SSRS 向表格添加页脚行 - CSV 输出

c++ - Visual Studio C++ 将 CSV 文件中的数据输入变量数组