pandas 用read_csv读取txt文件时,部分行丢失

用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)

你可能感兴趣的:(错题本)