cph*_*sto 6 csv header apache-spark pyspark
我.csv有几列,我希望'n'在使用spark.read.csv()函数将此文件导入数据帧时跳过 4 行(或一般情况下)。我有一个.csv这样的文件 -
ID;Name;Revenue
Identifier;Customer Name;Euros
cust_ID;cust_name;€
ID132;XYZ Ltd;2825
ID150;ABC Ltd;1849
Run Code Online (Sandbox Code Playgroud)
在普通的 Python 中,使用read_csv()函数时,很简单,可以使用以下skiprow=n选项来完成-
import pandas as pd
df=pd.read_csv('filename.csv',sep=';',skiprows=3) # Since we wish to skip top 3 lines
Run Code Online (Sandbox Code Playgroud)
使用 PySpark,我按如下方式导入这个 .csv 文件 -
df=spark.read.csv("filename.csv",sep=';')
This imports the file as -
ID |Name |Revenue
Identifier |Customer Name|Euros
cust_ID |cust_name |€
ID132 |XYZ Ltd |2825
ID150 |ABC Ltd 1849
Run Code Online (Sandbox Code Playgroud)
这是不正确的,因为我希望忽略前三行。我不能使用选项,'header=True'因为它只会排除第一行。可以使用'comment='选项,但为此需要行以特定字符开头,而我的文件并非如此。我在文档中找不到任何内容。有没有办法做到这一点?
我无法为您的问题找到简单的解决方案。尽管无论标题如何编写,这都会起作用,
df = spark.read.csv("filename.csv",sep=';')\
.rdd.zipWithIndex()\
.filter(lambda x: x[1] > n)\
.map(lambda x: x[0]).toDF()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8738 次 |
| 最近记录: |