【问题标题】:Pandas Dataframe CSV export, how to prevent additional double-quote charactersPandas Dataframe CSV 导出,如何防止额外的双引号字符
【发布时间】:2014-11-28 22:19:36
【问题描述】:

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

我正在添加 HTML 代码来格式化一列的颜色

从一个示例数据框开始:

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

打印 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>

有人知道我如何在没有额外字符的情况下导出它吗?

任何帮助表示赞赏。

【问题讨论】:

    标签: python csv pandas


    【解决方案1】:
    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>
    

    【讨论】:

    • 谢谢 Rob,我已经尝试过了——它导致该列根本没有被导出
    • 从我的编辑中可以看出,它对我有用。您能否提供一个简短、完整的示例程序,以及您问题中的输出?
    • 谢谢,罗伯。它现在可以工作了,当我第一次尝试时我不太明白我的错误,但是你的代码有效。感谢您的帮助。
    猜你喜欢
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多