如何将对齐异常的.txt文件读取为Pandas DataFrame
问题:读取存在制表符对齐异常的TXT文件为Pandas DataFrame并保留所有行
问题背景
我尝试将.txt文件中的数值数据读取为Pandas DataFrame,但需要进行数据整理。部分行存在对齐异常(推测由制表符导致)。这是一个小型数据集,我希望保留每一行,而不是直接删除异常行。
已尝试的操作及结果
1. 跳过坏行读取
执行代码:
df = pd.read_table('path/file.txt', on_bad_lines='skip', header=None) df
得到输出:
0 0 15.26\t14.84\t0.871\t5.763\t3.312\t2.221\t5.22\t1 1 14.88\t14.57\t0.8811\t5.554\t3.333\t1.018\t4.9... 2 14.29\t14.09\t0.905\t5.291\t3.337\t2.699\t4.82...
2. 不跳过坏行的报错
如果不设置on_bad_lines='skip',执行read_table会抛出错误:
ParserError: Error tokenizing data. C error: Expected 8 fields in line 8, saw 10
3. 替换制表符后重新读取
我尝试将文件中的制表符替换为逗号后重新读取,但仍触发同样的ParserError。执行的代码:
inputFile = open('path/file.txt', 'r') # 读模式 exportFile = open('path/file_v1.txt', 'w') # 写模式 for line in inputFile: new_line = line.replace('\t', ',') exportFile.write(new_line) inputFile.close() exportFile.close()
(注:我是Python新手,这是我第一次提问。感谢您的帮助,若有发帖规范问题敬请谅解)
内容的提问来源于stack exchange,提问作者oshanshan248
相关产品推荐
相关产品推荐

