Pandas(杂):read_csv读取不同空格数的txt或csv

今天处理数据时遇到一个特殊情况,正常数据表(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\\"
# 遍历写出即可,head=None因为这里忽略表头
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')