我给sample.dat
数据和.dml
.dat
文件中的内容:
101|US|Ram
102|INDIA|Shyam
103|JAPAN|Geeta
字符串
示例.dml
文件:
record
string("|") ID;
string("|") Country;
string("\n") Name;
end;
型
在我的.dat
文件中没有列名,我想提供列名(.dml
文件),并将该列名附加到我的.dat
文件中,并转换为spark dataframe。
我尝试了下面的代码:
dataset = "my_file_name.dat"
dataFile = spark.read.format("csv").option("delimiter",'|').option("header","false").load(dataset)
dataFile = dataFile.toDF("COL1","COL2","COL3")
dataFile.show()
型
这是工作,但在这里我手动给予列名,但我想从上面提到的.dml
文件提供列名。
现在我在python3.6中尝试了下面的代码
with open ("src.dml") as fp:
next (fp)
cols = []
row = fp.readline().strip()
while not row.startswith('end;'):
row = fp.readline().strip()
col = row.split(maxsplit=1).strip(';')
cols.append(col)
型
1条答案
按热度按时间ryoqjall1#
要从
dml
文件中提取列,可以用途:字符串
输出量:
型
更新:对于Python 3.8以下版本,可以用途:
型
之后,您可以执行以下操作:
型
输出量:
型
要写入文件,请执行以下操作:
型
data.csv
的内容现在是:型