首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拆分文件并重新排列

拆分文件并重新排列
EN

Stack Overflow用户
提问于 2022-06-08 16:43:00
回答 1查看 20关注 0票数 0

我的文本文件包含临时变化的数据。

代码语言:javascript
复制
#
1  2
2  4
3  4
# 
6  1
3  2
1  7

我希望在#处拆分列值,并通过追加拆分的文件生成新文件

预期output1

代码语言:javascript
复制
1 6
2 3
3 1

预期output2

代码语言:javascript
复制
2 1
4 2
4 7
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-08 19:03:10

一个比乍看上去更复杂的问题。我必须仔细地查看示例输出,才能完全了解发生了什么。

模拟文本文件:

代码语言:javascript
复制
sim_txt = io.StringIO('''
#
1  2
2  4
3  4
# 
6  1
3  2
1  7
''')

df = pd.read_csv(sim_txt, sep='\s+', header=None, names=[0,1])

df_out = df.assign(out=df[0].str.contains('#').cumsum()) \
    .pivot(columns=['out']).apply(lambda x: x.shift(-len(x)//2) if x.name[1]==2 else x) \
    .dropna().astype(int)

print(df_out)

     0     1   
out  1  2  1  2
1    1  6  2  1
2    2  3  4  2
3    3  1  4  7

然后保存到各个文件:

代码语言:javascript
复制
for c in df_out.columns.get_level_values(0).unique():
    df_out.loc[1:,c].to_csv(fr'd:\jchtempnew\SO\output{c+1}.txt', index=None, header=None, sep=' ')

output1

1 6
2 3
3 1

output2

2 1
4 2
4 7
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72549382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档