我需要将一些大型文本文件自动导入到我的 python 脚本中,以进行一些数据整理和分析。我需要删除/修复不可打印字符的特定实例,以阻止 pandas read_csv() 将字符串拆分为新行。我正在使用 Jupyter Notebook 5.0.0,这是我将拥有的最新版本。
我有多个文本文件,其中包含 800,000 多行长度超过 500 个字符的字符串。这些字符串包含一个字符数组,其中一些字符由于在某些行中插入了 '\n' 中间字符串而以不合需要的方式处理。
我已经解决了这个问题,使用 PowerShell 对每个文件运行作为使用以下代码的短期手动修复:
#Encoding Unicode
(Get-Content file.txt -Raw).replace('`nabc', 'abc') | Set-Content Newfile.txt
我尝试使用open(filename.txt, 'rb').read()
逐行输出的方法,但数据馈送太大。我逐渐增加了 jupyter_notebook_config.py 文件中的数据馈送,但它最终导致 Jupyter 无响应并崩溃而没有产生好东西。
我努力了:
import pandas as pd
pd.read_csv('filename.txt', sep='\t', header=None, linetermintator='~', encoding='utf-16')
基本上,文本文件已经在 '\n' 点拆分了行,pandas 不会覆盖格式或将其读取为原始文件。