功能“;pd.阅读“U csv”;如果在Python3.6中逗号后的文本是双引号的,则不会将其分隔为另一列

功能“;pd.阅读“U csv”;如果在Python3.6中逗号后的文本是双引号的,则不会将其分隔为另一列,python,pandas,dataframe,Python,Pandas,Dataframe,使用以下代码: df = pd.read_csv('chat_daniel.csv', skipinitialspace=True) 在以下数据字段中: 日期、起始日期、内容 2017-09-14上午10:56,“蒂姆X”,“乔” 2017-09-14上午10:57,“丹尼”,“朱克·本·苏伊斯” 2017-09-14上午10:57,“Tim X”,“kan ik komem?” 2017-09-14上午10:58,“蒂姆X”,“伊克黑布2号图德塞朱伦” 等等 我通过print(df.head

使用以下代码:

df = pd.read_csv('chat_daniel.csv', skipinitialspace=True)
在以下数据字段中:

日期、起始日期、内容

2017-09-14上午10:56,“蒂姆X”,“乔”

2017-09-14上午10:57,“丹尼”,“朱克·本·苏伊斯”

2017-09-14上午10:57,“Tim X”,“kan ik komem?”

2017-09-14上午10:58,“蒂姆X”,“伊克黑布2号图德塞朱伦” 等等

我通过print(df.head())得到以下结果:

2017年9月14日上午10:56,“蒂姆X”,“乔”楠楠楠

2017年9月14日上午10:57,“丹尼”,“朱克本·苏伊斯”楠楠楠楠

2017年9月14日上午10时57分,“蒂姆X”,“你是谁?”楠楠楠楠

2017年9月14日上午10:58,“Tim X”,“ik heb 2 tudseju…NaN NaN NaN”

2017年9月14日上午11:00,“丹尼”,“艾克莫特12号”。。。楠楠

而我应该得到(就像我用csv做的其他事情一样)

2017年9月14日上午10:56“蒂姆X”乔

2017年9月14日上午10:57“丹尼”“朱克本·苏伊斯”

2017年9月14日上午10:57“Tim X”“kan ik komem?”等

到目前为止,我到处都找不到有过同样病例的人。我无法删除所有双引号,因为双引号字段中的所有逗号将创建单独的字段

我已经尝试过将日期、起始日期、内容更改为“起始日期”、“内容”

编辑:使用以下文件和代码:

由于隐私原因被带走

import pandas as pd
import numpy as np
import csv
import os
import re
from datetime import datetime
df = pd.read_csv('chat_daniel.csv', skipinitialspace=True)
print(df.head())
print('-'*40)
print(df.info())
我得到了错误的输出

Edit2(解决方案):


如果你有这个问题,要让它正常工作(假设你的问题像Jack Daniel为我描述的那样),打开excel以外的编辑器,你就会看到这个问题。我使用升华文本轻松地将我的文件编辑到正常状态,而无需手动执行所有操作,完成后所有操作都应正常运行。

您的csv格式错误。如果您在终端或任何文本编辑器中打开csv,您会注意到整个记录是一个大字符串,用双倒逗号括起来。这就是它无法识别逗号分隔值的原因,因为它是一个大字符串,对应于第一列。

如前所述,问题的原因是所有字段都存储在一个字符串中。例如,您可以使用熊猫将它们分开,如下所示:

import pandas as pd
#read your csv file
temp = pd.read_csv('test.csv')
#split the first column and create new columns for each entry
df = temp["Date"].str.split(",", expand = True)
#rename with old column names
df.rename(columns = dict(enumerate(list(temp))), inplace = True)
print(df)

附加问题:D先生同意你在这里公开对话吗?

请不要发布任何人都不想阅读的外部链接。尽量保持简单:输入、预期输出、实际输出和代码。我无法重现你的问题。我无法重现。我已经编辑了这篇文章,为你提供了我使用的确切文件和代码。谢谢你的回答!至于D先生,这段对话基本上只包含了同意放学后冷静的信息。哦,该死,我忘了我发送了整个文件。。。。好吧,我现在就删除它。我建议删除Dropbox文件。当我进入修订历史时,我仍然可以看到它。
import pandas as pd
import numpy as np
import csv
import os
import re
from datetime import datetime
df = pd.read_csv('chat_daniel.csv', skipinitialspace=True)
print(df.head())
print('-'*40)
print(df.info())
import pandas as pd
#read your csv file
temp = pd.read_csv('test.csv')
#split the first column and create new columns for each entry
df = temp["Date"].str.split(",", expand = True)
#rename with old column names
df.rename(columns = dict(enumerate(list(temp))), inplace = True)
print(df)