从MongoDB读取的CSV文件中的额外撇号



我们有一个项目将在几个小时后到期,无法解决这个问题。 我们有从MongoDB数据库中读取的代码。

cursor = collection2.find()
mongo_docs = list(cursor)
docs = pandas.DataFrame(columns=[])
for num, doc in enumerate(mongo_docs):
doc["_id"] = doc["_id"]
doc_id = doc["_id"]
series_obj = pandas.Series(doc, name = doc_id)
docs = docs.append(series_obj)

docs.to_csv("test4.csv", ',')

这应该可以正常工作,并创建一个名为test4.csv的文档,但是由于某种原因,添加了一堆额外的引号,我们不知道为什么。我们正在尝试制作一个看起来像这样的文档:

"GP";"F";18;"U";"GT3";"A";4;4;"at_home";"teacher";"course";"mother";2;2;0;"yes";"no";"no";"no";"yes";"yes";"no";"no";4;3;4;1;1;3;4;"0";"11";11
"GP";"F";17;"U";"GT3";"T";1;1;"at_home";"other";"course";"father";1;2;0;"no";"yes";"no";"no";"no";"yes";"yes";"no";5;3;3;1;1;3;2;"9";"11";11

但是我们的看起来像这样:

school;sex;age;address;famsize;Pstatus;Medu;Fedu;Mjob;Fjob;reason;guardian;traveltime;studytime;failures;schoolsup;famsup;paid;activities;nursery;higher;internet;romantic;famrel;freetime;goout;Dalc;Walc;health;absences;G1;G2;G3
"GP";"F";18;"U"";""GT3"";""A"";4;4;""at_home"";""teacher"";""course"";""mother"";2;2;0;""yes"";""no"";""no"";""no"";""yes"";""yes"";""no"";""no"";4;3;4;1;1;3;6;""5"";""6"";6"
"GP";"F";17;"U"";""GT3"";""T"";1;1;""at_home"";""other"";""course"";""father"";1;2;0;""no"";""yes"";""no"";""no"";""no"";""yes"";""yes"";""no"";5;3;3;1;1;3;4;""5"";""5"";6"
"GP";"F";15;""U"";""LE3"";""T"";1;1;""at_home"";""other"";""other"";""mother"";1;2;3;""yes"";""no"";""yes"";""no"";""yes"";""yes"";""yes"";""no"";4;3;2;2;3;3;10;""7"";""8"";10"

任何帮助将不胜感激。

df.to_csv行中,您可以添加csv.QUOTE_NONE,看看是否有效:

import csv
docs.to_csv("test4.csv", ',', quoting=csv.QUOTE_NONE)

最新更新