第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

計(jì)算文件每一行中的逗號(hào)數(shù)

計(jì)算文件每一行中的逗號(hào)數(shù)

四季花海 2023-05-05 14:24:46
我有一個(gè)看起來(lái)像的文件 -Col1,Col2,Col3,Col4Value11,Value12,Value13,Value14Value21,Value22,Value23,Value24....我已經(jīng)將文件加載到 Pyspark 數(shù)據(jù)框中(我不能使用 python,因?yàn)閿?shù)據(jù)集很大)w1 = spark.read.format('csv').options(header='false', inferschema='false').load('./part1')我想檢查每一行是否有相同數(shù)量的逗號(hào)。有沒(méi)有辦法輸出逗號(hào)數(shù)不等于 3 的行?
查看完整描述

2 回答

?
拉風(fēng)的咖菲貓

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊

將 csv 文件讀取為文本并將值拆分,并計(jì)算元素。


df = spark.read.text('test.csv')

df.show(10, False)


+-------------------------------+

|value                          |

+-------------------------------+

|Col1,Col2,Col3,Col4            |

|Value11,Value12,Value13,Value14|

|Value21,Value22,Value23,Value24|

+-------------------------------+


import pyspark.sql.functions as F


df2 = df.withColumn('count', F.size(F.split('value', ',')))

df2.show(10, False)


+-------------------------------+-----+

|value                          |count|

+-------------------------------+-----+

|Col1,Col2,Col3,Col4            |4    |

|Value11,Value12,Value13,Value14|4    |

|Value21,Value22,Value23,Value24|4    |

+-------------------------------+-----+


df2.groupBy().agg(F.min('count'), F.max('count')).show(10, False)


+----------+----------+

|min(count)|max(count)|

+----------+----------+

|4         |4         |

+----------+----------+


查看完整回答
反對(duì) 回復(fù) 2023-05-05
?
炎炎設(shè)計(jì)

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊

由于您想知道錯(cuò)誤的行,因此唯一的方法就是循環(huán):


In [18]: erroneous_lines = []


In [19]: with open(r'C:\Users\abaskaran\Desktop\mycsv.txt') as fd:

    ...:     for line_num, line in enumerate(fd,1):

    ...:         if len(line.split(',')) != 4:

    ...:             erroneous_lines.append((line_num, line))



In [20]: erroneous_lines

Out[20]:

[(5, 'Value21,Value22,Value23,Value24Value11,Value12,Value13,Value14\n'),

 (6, 'Value21,Value22,Value23\n')]

該erroneous_lines列表將包含一個(gè)元組列表,包含行號(hào)和行的實(shí)際內(nèi)容,但不包含所有值。


我將 CSV 內(nèi)容修改為 belowj 只是為了測(cè)試:


Col1,Col2,Col3,Col4

Value11,Value12,Value13,Value14

Value21,Value22,Value23,Value24

Value11,Value12,Value13,Value14

Value21,Value22,Value23,Value24Value11,Value12,Value13,Value14

Value21,Value22,Value23

Value11,Value12,Value13,Value14

Value21,Value22,Value23,Value24

Value11,Value12,Value13,Value14

Value21,Value22,Value23,Value24


查看完整回答
反對(duì) 回復(fù) 2023-05-05
  • 2 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)