【问题标题】:pandas dataframe to csv quotation mark熊猫数据框到csv引号
【发布时间】:2017-07-10 14:29:58
【问题描述】:

我尝试使用将 pandas 数据帧转换为 csv

dataframe.to_csv('final_processed.csv', encoding='utf-8', index=False)

然后我得到了 csv 文件,它有 5 列,第一列是文本,我打开 csv 文件,发现有些行在第一列的开头和结尾都用引号引起来,而另一些则没有(如下所示)。我希望它们都以引号开头和结尾,我该怎么办?非常感谢。

“Pt 因胸痛来到急诊室...... PT/INR 和 PTT 在 0324 进行检查, PT/INR 为 92 .5/8 .8 和 PTT wa 249.",管理/监控,非处方/订单,管理/监控,notadr

“患者于 2015 年 5 月 4 日在办公室看到...... 另一个看护人并向我的诊所报告 经理。”,转录/准备/分配,不开/订单,不管理/监控,notadr

多种药物由不同的提供者输入 Med Rec 剂量不准确和......医院 入院,开处方/订单,开处方/订单,不管理/监控,notadr

【问题讨论】:

    标签: python csv pandas data-processing


    【解决方案1】:

    您需要将quoting=True添加到dataframe.to_csv,如下:

    dataframe.to_csv('final_processed.csv', encoding='utf-8', index=False, quoting=True)
    

    您可以在官方文档here 中找到更多详细信息。


    这是一个完整的示例

    import pandas as pd 
    from StringIO import StringIO 
    
    st = """
    "Pt come to ER with chest pain ..... PT/INR and PTT be check at 0324, PT/INR as 92 .5/8 .8 and PTT wa 249.",administer/monitor,notprescribe/order,administer/monitor,notadr
    
    "Patient wa see in office on 05/04/2015 ....... Thi wa catch by another caregiver and report to my clinic manager.",transcribe/prepare/dispense,notprescribe/order,notadminister/monitor,notadr
    
    Multiple medication enter on Med Rec by different provider with inaccurate dose and ......hospital admission,prescribe/order,prescribe/order,notadminister/monitor,notadr
    """
    data =pd.read_csv(StringIO(st), delimiter=",", header=None) 
    data.to_csv("final_processed.csv", encoding="utf-8", index=False, quoting=True)
    

    输出如下所示:

     "0","1","2","3","4"
    "Pt come to ER with chest pain ..... PT/INR and PTT be check at 0324, PT/INR as 92 .5/8 .8 and PTT wa 249.","administer/monitor","notprescribe/order","administer/monitor","notadr"
    "Patient wa see in office on 05/04/2015 ....... Thi wa catch by another caregiver and report to my clinic manager.","transcribe/prepare/dispense","notprescribe/order","notadminister/monitor","notadr"
    "Multiple medication enter on Med Rec by different provider with inaccurate dose and ......hospital admission","prescribe/order","prescribe/order","notadminister/monitor","notadr"
    

    【讨论】:

    • quoting=True:文件“pandas\core\generic.py”,第 3020 行,在 to_csv:formatter.save() 文件“pandas\io\formats\csvs.py”,第 170 行,在保存中:self.writer = UnicodeWriter(f, **writer_kwargs) 文件“pandas\io\common.py”,第 545 行,在 UnicodeWriter 中:返回 csv.writer(f, dialect=dialect, **kwds) TypeError:" quoting" 必须是整数
    • 你的意思是doublequote
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 2021-04-06
    • 2018-10-25
    • 2022-07-10
    • 2020-06-03
    • 1970-01-01
    • 2019-09-30
    相关资源
    最近更新 更多