我有一个固定宽度的txt input.txt,看起来像
12345 1 23
23 12 2 11
我有一个单独的文件fixed-width.txt,解释每列是如何分开的。
1 2
2 3
3 2
4 3
第一列有2个字母,第二列有3个字母,依此类推。所以我需要将input.txt转换为
12\t345\t 1\t 23\t\n
23\t 12\t 2\t 11\t\n
我尝试将固定宽度直接导入MatLab或Python Pandas,但失败了。所以我在这里询问如何将其转换为制表符分隔的txt。
答案 0 :(得分:1)
import pandas as pd
fmt = pd.read_csv('fixed-width.txt', delimiter=' ',
header=None, names=['field', 'width'])
df = pd.read_fwf('input.txt', widths=fmt['width'], header=None)
要以制表符分隔的形式输出,您可以执行
df.to_csv('output.txt', sep='\t')