我在一个文件中有两个分隔符,我必须按|拆分和按拆分,并在Dataframe中插入3列
input.txt
a,1|b,2,4|c,3
a,2|b|c,5
output should be
a,b,c
1,[2,4],3
2,NULL,5
I have tried below but got stuck
import numpy as np
import pandas as pd
import re
file1 = open("sample.txt")
dit={}
for line in file1.readlines():
read = re.split('\|',line.strip())
for word in read:
key = word.split(',')
if(len(key) > 1):
dit[key[0]]=key[1]
else:
dit[key[0]]="NULL"
df = pd.DataFrame(dit,columns=["a","b","c"],index=[0])
output
a b c
2 NULL 5
输出不更新第一行&不动态wrt到更多逗号分隔。
1条答案
按热度按时间bkhjykvo1#
从dict生成Dataframe需要每个dict值包含该列的值列表。您将用新值覆盖以前的值,因此只获得Dataframe中的最后一行。相反,您必须将值附加到每个键的条目中。
这意味着您还必须将每个条目初始化为空列表,因此请更改此处理:
然后您应该将其扩展为更长的键和更长的值;当前代码只接受单字符键和值。