Python 使用日期对象读取\u csv

Python 使用日期对象读取\u csv,python,pandas,Python,Pandas,我有一个csv文件,看起来像 例如,“(2011/07/21-1.0000$,2011/08/21-1.0000$)”此值应全部位于到期列中,excel在到期列和货币列中显示它们,因为使用了逗号分隔符 现在我想将这个csv文件读入python,由于逗号分隔符的问题,它给我带来了麻烦。有没有什么方法可以让我读到理想的数据帧 因此,这就像每当有一个“which in”,然后将“which in”作为一个整体处理,并将它们放在一列中,否则按逗号+空格进行拆分 谢谢。如果要忽略的,前面总是有一个文本$,

我有一个csv文件,看起来像

例如,
“(2011/07/21-1.0000$,2011/08/21-1.0000$)”
此值应全部位于
到期
列中,excel在
到期
列和
货币
列中显示它们,因为使用了逗号分隔符

现在我想将这个csv文件读入python,由于逗号分隔符的问题,它给我带来了麻烦。有没有什么方法可以让我读到理想的数据帧

因此,这就像每当有一个
“which in”
,然后将
“which in”
作为一个整体处理,并将它们放在一列中,否则按
逗号+空格进行拆分


谢谢。

如果要忽略的
前面总是有一个文本
$
,则可以使用反向查找执行以下操作:

pd.read_csv('myfile.csv', sep=r'(?<!\$),\s')

pd.read\u csv('myfile.csv',sep=r'(?如果要忽略的
前面总是有一个文本
$
,则可以使用反向查找执行以下操作:

pd.read_csv('myfile.csv', sep=r'(?<!\$),\s')

pd.read\u csv('myfile.csv',sep=r'(?另一种方法是:

df = pd.read_csv('nonideal.csv', quotechar='"')
在这种情况下,带“”引号的字符串将被视为总计,即使其中有逗号

输出您的练习数据:

>>> df = pd.read_csv('./Desktop/df1.csv', quotechar='"')
>>> df
   units  one                                    expiry  currency  amount
0    100    0  "(2011/07/21-1.000$, 2011/08/21-1.000$)"       100       0
1      0   20  "(2011/07/21-1.000$, 2011/08/21-1.000$)"         0      30

另一种方法是:

df = pd.read_csv('nonideal.csv', quotechar='"')
在这种情况下,带“”引号的字符串将被视为总计,即使其中有逗号

输出您的练习数据:

>>> df = pd.read_csv('./Desktop/df1.csv', quotechar='"')
>>> df
   units  one                                    expiry  currency  amount
0    100    0  "(2011/07/21-1.000$, 2011/08/21-1.000$)"       100       0
1      0   20  "(2011/07/21-1.000$, 2011/08/21-1.000$)"         0      30

你想忽略的
是否总是在前面加上一个字面值
$
?@rahlf23是的!你想忽略的
是否总是在前面加上一个字面值
$
?@rahlf23是的!我想你的意思是
quotechar='“
。除此之外,这是正确的解决方案我想你的意思是
quotechar='”“
。除此之外,这是正确的解决方案此解决方案并不理想,因为此文件的分隔符实际上是一个逗号,引号用于分组。一旦获得更复杂的数据集,使用这种regexp会带来麻烦。我同意这不是理想的解决方案,但对于这个最小的用例,我认为我会把它扔出去。@d_kennetz answer绝对是首选的解决方案。这个解决方案并不理想,因为这个文件的分隔符实际上是一个逗号,引号用于分组。一旦你得到更复杂的数据集,使用这种regexp就是自找麻烦。我同意这不是理想的解决方案,但是对于这个“这是一个很小的用例,我想我会把它扔掉的。”d_kennetz的答案肯定是首选的解决方案。