【问题标题】:How can we get the pipeline to read columns with special characters?我们如何让管道读取带有特殊字符的列?
【发布时间】:2019-11-06 15:22:26
【问题描述】:

我正在使用“usecols”参数来获取 .xlsx 文件的某些列(我正在使用 Kedro 教程中的 xls_local.py 文件)但程序说“usecols 与列不匹配,列预期但不匹配found:" 并且它只显示具有特殊字符的列。请问我该如何解决这个问题?非常感谢您的关注。

【问题讨论】:

    标签: pipeline kedro


    【解决方案1】:

    据我所知,这不是kedro 问题,而是pandas.read_excel 问题,这是kedro 在后台使用的。这似乎在pandas 本身中被破坏了,一种解决方法是使用字母来引用列,因此类似于usecols='A:D',然后您可以通过执行df.columns = ["colname with special characters", "b", "c", "d"] 将列重命名为它们应有的名称。

    【讨论】:

    • 非常感谢,成功了!请问您对 .csv 文件有类似的建议吗?
    • @sofiacosta29 尝试将encoding='utf-8'encoding='latin1' 传递给csv 的load_args。此外,如果此答案回答了您的问题,请随时将其标记为已接受。 :)
    • 对不起,我不知道有一个“接受标记”。完毕!此外, usecols= 'A:D' 工作得很好。所以,我不必使用 csv 的编码,但我想再次选择所有带有“usecols”的列。由于“A:D”参考不再起作用,请问您有什么建议吗?
    • 如果您想选择所有列(即读取整个 excel/csv 文件),您可能应该使用 encoding= 而不要使用 usecols,除非我误解了。
    • 你是对的,我很抱歉。由于 parameters.yml 文件中的选定列(因为它们与 usecols 参数不匹配),我之前遇到过一些错误,但这些不再是问题,所以在这种特定情况下我不需要 usecols。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 2014-08-31
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多