【问题标题】:apache spark load inner folderapache spark加载内部文件夹
【发布时间】:2018-11-10 19:17:24
【问题描述】:
import findspark
findspark.init('C:\spark')
from pyspark.sql import SparkSession

spark = SparkSession.builder.getOrCreate()

a = []
i=1880
while i<2018:
    a.append(str(i)+'/'+str(i)+'verr.csv')
    i = i+1

dataset1 = spark.read.format('csv').option('header','true').load('C://venq/uyh/'+ a)

我运行代码并得到错误; dataset1 = spark.read.format('csv').option('header','true').load('C://venq/uyh/'+ a) TypeError:只能将str(不是“list”)连接到str

我有一个“C:\venq\uyh\1880\1880\verr.csv”格式的循环。 我在嵌套文件夹中有 csv 文件。我想用火花读完它们。但是我收到以下错误。我该如何解决这个问题?谢谢

【问题讨论】:

    标签: python python-3.x apache-spark hadoop


    【解决方案1】:

    变量“a”是一个文件列表。

    dataset1 = spark.read.format('csv').option('header','true').load('C://venq/uyh/'+ a)

    在这里,您尝试将字符串 'C://venq/uyh/' 与列表 'a' 连接 - 这会引发错误。试试看

    root = r"C://venq/uyh/"
    
    while i<2018:
        a.append(root + str(i)+'/'+ str(i)+'verr.csv')
        i = i+1
    

    然后直接使用a

    dataset1 = spark.read.format('csv').option('header','true').load(a)

    【讨论】:

    • 如果对您有用,请考虑接受答案。谢谢!
    猜你喜欢
    • 2019-03-07
    • 1970-01-01
    • 2015-02-07
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    相关资源
    最近更新 更多