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

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

讀取行之間沒(méi)有分隔符的文件

讀取行之間沒(méi)有分隔符的文件

月關(guān)寶盒 2023-04-25 16:25:00
我有一個(gè)非常明顯的問(wèn)題,但我找不到熊貓解決方案(我找到了這個(gè),很接近)。我的文本文件沒(méi)有行分隔符。因此,pandas 將文件讀取為具有單行和大量列的數(shù)據(jù)框。它看起來(lái)如下:header_1, header_2, header_3, 1, jan, 600, 2, feb, 900, 3, jan, 678我想每行讀取三個(gè)元素。最終結(jié)果應(yīng)如下所示:header_1  header_2  header_3         1       jan       600        2       feb       900        3       jan       678我怎樣才能告訴文件讀取每三個(gè)逗號(hào)作為換行符?
查看完整描述

4 回答

?
慕娘9325324

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

假設(shè)前幾個(gè)條目是列名。你可以split文本,找到標(biāo)題的數(shù)量,并對(duì)其余數(shù)據(jù)進(jìn)行分區(qū)以匹配標(biāo)題的數(shù)量:


data = """header_1, header_2, header_3, 1, jan, 600, 2, feb, 900, 3, jan, 678"""


header = [head.strip() for head in data.split(',') if head.strip().startswith('header')]

rest = [head.strip() for head in data.split(',') if not head.strip().startswith('header')]

length = len(header)

rest = [rest[n:n+length] for n in range(0, len(rest), length)]

pd.DataFrame(rest, columns = header)




 header_1   header_2    header_3

0   1         jan         600

1   2         feb         900

2   3         jan         678


查看完整回答
反對(duì) 回復(fù) 2023-04-25
?
長(zhǎng)風(fēng)秋雁

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

使用**Split function**后跟切片來(lái)創(chuàng)建數(shù)據(jù)框


a="header_1, header_2, header_3, 1, jan, 600, 2, feb, 900, 3, jan, 678"

a=a.split(",")

a1=[]

a2=[]

a3=[]

for i in range(0,len(a)):

    if(i%3==2):

        a1.append(a[i])

    elif(i%3==1):

        a2.append(a[i])

    else:

        a3.append(a[i])

    data={a3[0]:a3[1:],a2[0]:a2[1:],a1[0]:a1[1:]}

df=pd.DataFrame(data)

    

輸出


    header_1       header_2           header_3

0   1              jan                    600

1   2              feb                    900

2   3              jan                    678


查看完整回答
反對(duì) 回復(fù) 2023-04-25
?
慕絲7291255

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

您不需要 pandas 來(lái)執(zhí)行此操作,您可以只使用本機(jī) python。如果文件格式正確,即如您所寫(xiě)

header_1, header_2, header_3, 1, jan, etc

您可以只使用字符串方法,例如將列表拆分和重組為您想要的二維數(shù)組形狀。如果您想稍后使用熊貓,您可以從那里創(chuàng)建數(shù)據(jù)框。


查看完整回答
反對(duì) 回復(fù) 2023-04-25
?
qq_遁去的一_1

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

也許標(biāo)準(zhǔn)str.split()就足夠了:


txt = '''header_1, header_2, header_3, 1, jan, 600, 2, feb, 900, 3, jan, 678'''


txt = txt.split(',')

df = pd.DataFrame([*zip(txt[3::3], txt[4::3], txt[5::3])], columns=[*txt[0:3]])


print(df)

印刷:


  header_1  header_2  header_3

0        1       jan       600

1        2       feb       900

2        3       jan       678


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

添加回答

舉報(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)