今天处理数据时遇到一个特殊情况,正常数据表(txt格式)是按制表符(/mark>>)分隔,其中最后两年的数据是不等数量的空格分列,因此需要统一格式。
原始如下图,最后处理成单个空格或制表符分隔,
pandas可以读取csv txt等文本文件,read_csv(sep=“\s”)
即可,示例:
1 2 3 4 5 6 7 8
| import pandas as pd from glob import glob files = glob(r"D:\气象局数据\天尺度气象数据\存档\201911-202106\*.txt") outdir = r"D:\气象局数据\天尺度气象数据\存档\201911-202106-2\\"
for file in files: df = pd.read_csv(file, header=None,sep='\s+', encoding = 'utf-8') df.to_csv(outdir+os.path.basename(file),index=False,header=None,encoding = 'utf-8',sep='\t')
|