gpt4 book ai didi

python - TypeError : Invalid argument, 不是字符串或列: at 0x7f1f357c6160> of type

转载 作者:行者123 更新时间:2023-12-05 03:37:05 25 4
gpt4 key购买 nike

我正在使用以下代码片段创建 Databricks 目录中所有 .csv 文件的列表。

csv_dir = '/my_dir/'
csv_paths = list(filter(lambda x: '.csv' in x, os.listdir(csv_dir)))

但是它会产生以下错误

TypeError: Invalid argument, not a string or column: <function <lambda> at 0x7f1f357c6160> of type <class 'function'>. For column literals, use 'lit', 'array', 'struct' or 'create_map' function.

我猜我的纯 Python 代码被误认为是 PySpark 代码。我尝试在单元格顶部使用 %python,它仍然产生相同的结果。

是的,我在笔记本中交替使用了 PySpark 和 Python,但在使用 lambda 函数时我从未遇到过这个问题。

是否有解决此问题的方法?

请指教

最佳答案

很可能如您所料,您的代码使用了 Pyspark's filter函数而不是 Python 的内置 filter .导入 Pyspark 函数的最佳做法是使用别名,例如 import pyspark.sql.functions as F这样这些函数就不会与具有相同名称的内置函数发生冲突。

但是,如果您已经导入了 from pyspark.sql.functions import * , 你可以调用内置的 filter明确使用 __builtin__.filter

csv_paths = list(__builtin__.filter(lambda x: '.csv' in x, os.listdir(csv_dir)))

关于python - TypeError : Invalid argument, 不是字符串或列:<function <lambda> at 0x7f1f357c6160> of type <class 'function' >,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69445600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com