如何在python中使用read_csv(..)导入时处理.csv文件中不匹配的引号

如何在python中使用read_csv(..)导入时处理.csv文件中不匹配的引号,python,pandas,import,quote,Python,Pandas,Import,Quote,我有一个像这样的.csv文件- 结果如下所示: A B C D 1 |1|1 NaN NaN 2 2 2 2 3 |3|3\r\n4|4|4|4\r\n5|five" 5 5 6 6 6 6 SAS有趣的是,通过这种方式正确导入此文件。在.

我有一个像这样的
.csv
文件-

结果如下所示:
A                           B    C    D
1                        |1|1  NaN  NaN
2                           2    2    2
3  |3|3\r\n4|4|4|4\r\n5|five"    5    5
6                           6    6    6


SAS
有趣的是,通过这种方式正确导入此文件。在
.read_csv
中是否有一种方法或选项,我们可以指定在遇到分隔符时,无论起始引号是否与结束引号匹配,该列都应填充该值,如上图所示?

您可以使用参数
quoting=3

import pandas as pd
from pandas.compat import StringIO

temp=u"""A|B|C|D 
1|"|1|"1
2|2|2|2 
3|"|3|3 
4|4|4|4
5|"five"|5|5
6|6|6|6"""
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp), sep="|", quoting=3)

print (df)
   A       B  C  D 
0  1       "  1  "1
1  2       2  2  2 
2  3       "  3  3 
3  4       4  4   4
4  5  "five"  5   5
5  6       6  6   6

今天我至少花了一个小时来做这个,所以我知道答案很快。但很明显,这种糟糕的格式是痛苦的…对此表示歉意。我试图格式化,但似乎有什么改变,我匆忙地使用了旧版本的格式化。我现在已经更正了它。对不起,我只是使用旧的格式化方法``
A                           B    C    D
1                        |1|1  NaN  NaN
2                           2    2    2
3  |3|3\r\n4|4|4|4\r\n5|five"    5    5
6                           6    6    6
A         B    C    D
1         "    1   "1
2         2    2    2
3         "    3    3
4         4    4    4
5    "five"    5    5
6         6    6    6
import pandas as pd
from pandas.compat import StringIO

temp=u"""A|B|C|D 
1|"|1|"1
2|2|2|2 
3|"|3|3 
4|4|4|4
5|"five"|5|5
6|6|6|6"""
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp), sep="|", quoting=3)

print (df)
   A       B  C  D 
0  1       "  1  "1
1  2       2  2  2 
2  3       "  3  3 
3  4       4  4   4
4  5  "five"  5   5
5  6       6  6   6