如何将文本导入DataFrame列,跳过colspec(PYTHON)

2024-10-04 01:22:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文本的形式:

adadaff afdfsfs   fdsfsfsd   32421  2 4321 12 
adadaff afdfsfs   fdsfsfsd   32421    4321 12
adadaff afdfsfs   fdsfsfsd   32421    4321 12
adadaff afdfsfs   fdsfsfsd   32421    4321 12
adadaff afdfsfs   fdsfsfsd   32421    4321 12
adadaff afdfsfs   fdsfsfsd   32421  2 4321 12

我想把它放在数据帧的col1中,比如:

                      col1                           
0 adadaff afdfsfs   fdsfsfsd   32421  2 4321 12       
1 adadaff afdfsfs   fdsfsfsd   32421    4321 12         
2 adadaff afdfsfs   fdsfsfsd   32421    4321 12
3 adadaff afdfsfs   fdsfsfsd   32421    4321 12
4 adadaff afdfsfs   fdsfsfsd   32421    4321 12
5 adadaff afdfsfs   fdsfsfsd   32421  2 4321 12    

我正在使用:pd.read\u-fwd(“text.txt”,header=None),但是没有工作,因为它返回了一个有7列的数据帧

我怎么能把所有的文字都放在一列呢


Tags: 数据text文本txtnoneread形式col1
2条回答

用这个

temp = StringIO("""  
adadaff afdfsfs   fdsfsfsd   32421  2 4321 12 
adadaff afdfsfs   fdsfsfsd   32421    4321 12
adadaff afdfsfs   fdsfsfsd   32421    4321 12
adadaff afdfsfs   fdsfsfsd   32421    4321 12
adadaff afdfsfs   fdsfsfsd   32421    4321 12
adadaff afdfsfs   fdsfsfsd   32421  2 4321 12
""")


df = pd.read_csv(temp, sep='|', names=['col1'])

输出

                                             col1
0  adadaff afdfsfs   fdsfsfsd   32421  2 4321 12 
1   adadaff afdfsfs   fdsfsfsd   32421    4321 12
2   adadaff afdfsfs   fdsfsfsd   32421    4321 12
3   adadaff afdfsfs   fdsfsfsd   32421    4321 12
4   adadaff afdfsfs   fdsfsfsd   32421    4321 12
5   adadaff afdfsfs   fdsfsfsd   32421  2 4321 12

您可以使用colspecs参数来实现这一点

colspecs采用成对(元组)列表,给出每行的固定宽度字段的范围作为半开间隔(即,[从,到[)。 在这个例子中,我把间隔取为100(任何更高的数字)

colspecs = [(0,100)] 
df = pd.read_fwf("text.txt",colspecs=colspecs,names = ['Col1'])

输出:

                                            Col1
0  adadaff afdfsfs   fdsfsfsd   32421  2 4321 12
1  adadaff afdfsfs   fdsfsfsd   32421    4321 12
2  adadaff afdfsfs   fdsfsfsd   32421    4321 12
3  adadaff afdfsfs   fdsfsfsd   32421    4321 12
4  adadaff afdfsfs   fdsfsfsd   32421    4321 12
5  adadaff afdfsfs   fdsfsfsd   32421  2 4321 12

相关问题 更多 >