Pandas Dataframe CSV导出,如何防止其他双引号字符

时间:2014-10-03 20:07:28

标签: python csv pandas

我正在使用Pandas来处理和输出在Wordpress中发布的表的数据

我正在添加HTML代码以格式化一列

从示例Dataframe开始:

import numpy as np
import pandas as pd
df = pd.DataFrame({
                'A': ['group1', 'group2', 'group3'],
                'B': ['foo', 'foo', 'foo'] })

print df

        A    B
0  group1  foo
1  group2  foo
2  group3  foo

然后我将相同的格式代码添加到每一行,如下所示:

df['Status'] = '<span style="color: #00CD00">Active</span>'

print df    

        A    B                                      Status
0  group1  foo  <span style="color: #00CD00">Active</span>
1  group2  foo  <span style="color: #00CD00">Active</span>
2  group3  foo  <span style="color: #00CD00">Active</span>

我将数据导出为csv文件,因为我需要逗号分隔符:

output = r'C:\test\test.csv'
df.to_csv(output, index=False)

如果我在Excel中打开csv,它看起来与上面完全相同

但是如果我在文本编辑器中打开它(我需要这样做以获得分隔符),我发现带有格式化字符串的列有另外的双引号字符,如下所示:

"<span style=""color: #00CD00"">Active</span>"

- 这没有添加双引号 - 这是正确的:

<span style="color: #00CD00">Active</span>

有没有人知道如何在没有附加字符的情况下导出它?

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:9)

df.to_csv('test.csv', index=False, quoting=csv.QUOTE_NONE)

参考文献:

示例程序:

import numpy as np
import pandas as pd
import csv
df = pd.DataFrame({
                'A': ['group1', 'group2', 'group3'],
                'B': ['foo', 'foo', 'foo'] })
df['Status'] = '<span style="color: #00CD00">Active</span>'
df.to_csv('test.csv', index=False, quoting=csv.QUOTE_NONE)

结果:

$ cat test.csv
A,B,Status
group1,foo,<span style="color: #00CD00">Active</span>
group2,foo,<span style="color: #00CD00">Active</span>
group3,foo,<span style="color: #00CD00">Active</span>