赞
踩
用pandas 的 read_csv 来读取txt文件时,出现了部分行丢失的情况。
原因是某行中有单个英文引号,导致\n换行符失效。
多行连成了一行,直到遇到下一个单个引号。
例如:
.txt文件如下:
这里有一个未闭合的引号"就是它!
这是正常的第二行
这是正常的“第三行”
这是带着"英文引号"的第四行
这是第五行
如果存在不闭合的英文引号,行与行之间会“粘”在一起,看起来就是丟行了:
import pandas as pd
df = pandas.read_csv('test.txt', names=['sentences'])
# 结果
# 这里有一个未闭合的引号"就是它!\r这是正常的第二行\r这是正常的“第三行”\r这是带着"英文引号"的第四行
# 这是第五行
解决办法:设置quoting参数
# 方法一: 加 quoting=3
import pandas as pd
df = pandas.read_csv('test.txt', names=['sentences'], quoting=3)
# 方法二:
import csv
import pandas as pd
df = pandas.read_csv('test.txt', names=['sentences'], quoting=csv.QUOTE_NONE)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。