使用Pandas处理文本文件:移除\n并将时间移至新行
处理文本数据的Pandas实现方案
原始需求
我的文本文件中有如下数据:
607 1800.00
608 +1%
609 0.0
610 0\n09:20:00
需要通过Pandas的replace方法移除内容里的\n转义字符,并将09:22:03作为611行的内容添加到文件中。
处理步骤及代码
- 读取文本文件
按行读取文件,将行号和内容拆分到DataFrame的不同列,方便后续操作:
import pandas as pd # 读取文件,用任意空白字符分隔行号与内容,自定义列名 df = pd.read_csv('your_input_file.txt', sep='\s+', header=None, names=['line_num', 'content'], engine='python')
- 移除
\n转义字符
用replace方法匹配并删除文本中的\n转义字符串:
# 替换content列里的\n转义字符(注意用双反斜杠匹配文件中实际存储的\和n) df['content'] = df['content'].replace(r'\\n', '', regex=True)
- 添加611行新内容
构造新行数据,追加到原DataFrame末尾:
# 创建新行的DataFrame new_row = pd.DataFrame({'line_num': [611], 'content': ['09:22:03']}) # 合并到原数据 df = pd.concat([df, new_row], ignore_index=True)
- 保存处理后的文件
将处理完成的数据按原始格式写回文本文件:
# 保存为无表头、无索引的文本文件,用空格分隔列 df.to_csv('your_output_file.txt', sep=' ', header=False, index=False)
最终效果
处理后的文本文件内容如下:
607 1800.00
608 +1%
609 0.0
610 009:20:00
611 09:22:03
内容的提问来源于stack exchange,提问作者Rakesh Mulik
相关产品推荐
相关产品推荐

