Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pandas.read_csv带有多个分隔符,用于行和列_Python_Pandas - Fatal编程技术网

Python Pandas.read_csv带有多个分隔符,用于行和列

Python Pandas.read_csv带有多个分隔符,用于行和列,python,pandas,Python,Pandas,我试图将csv读入熊猫数据框,该数据框用括号分隔行,用逗号分隔列:“[“column1、column2等”]”。文件文本中还有双引号。例如,这将产生4列和3行 slug,site_id,page_id,page_text "[""act"", 1, 24, ""Hi, thank you so much for RSVP'ing""]","[""act"&q

我试图将csv读入熊猫数据框,该数据框用括号分隔行,用逗号分隔列:“[“column1、column2等”]”。文件文本中还有双引号。例如,这将产生4列和3行

slug,site_id,page_id,page_text
"[""act"", 1, 24, ""Hi, thank you so much for RSVP'ing""]","[""act"", 1, 43, ""Thank you for taking the time to tell us why wireless matters to you!“”]”,"[""uoaa"", 2, 238, ""First published at Oregonlive.com on January 28th, 2019.“”]”
我正在尝试的代码只是把它弄得一团糟,在有逗号的地方创建一行多列。括号之间的所有内容都是一行,而一组新的括号意味着它是一个新行

df = pd.read_csv(tar.extractfile(csv_path), header=0, sep=r'\[|\]|,', quotechar='"',quoting=1, engine = 'python')

任何帮助都将不胜感激。

行之间用
分隔,一行在
“[…]”之间。


作为pd进口熊猫
导入ast
进口稀土
ROWS=re.compile(r''(\'{1}\[.\]\''{1}),(\'{1}\[.\]\''{1})*''
记录=[ast.literal_eval(re.sub(r'(“*)”,r'\1',行))
对于ROWS.findall中的行(打开('data.csv').read())[0]]
df=pd.DataFrame(记录)
>>df
0  1   2                                                  3
第1幕24嗨,非常感谢你的回复
谢谢你花时间告诉我们为什么。。。
>>>df.info()
范围索引:2个条目,0到1
数据列(共4列):
#列非空计数数据类型
---  ------  --------------  -----
0 2非空对象
1 2非空int64
2非空int64
3.2非空对象
数据类型:int64(2),对象(2)
内存使用:192.0+字节

您的行在csv文件中用
\n
分隔?行用逗号分隔。我运行了它,但出现了以下错误:**ValueError:格式错误的节点或字符串:啊,csv也有一个分隔行,因此在上面的示例中,该文件看起来像…RSVP'ing”“],“[”act”“…因此,该文件只包含一行(否
\n
)。我将修正我的答案。这很接近,但奇怪的是,前9行被转换为9列,包含其中的所有四列。最后一行被正确解析。我注意到文本中有一些双空格,似乎取代了\xa0。索引0,列0包含以下内容:0 0“['act',1,24,”“非常感谢您回复我们的电话市政厅。\xa0若要将此活动添加到您的日历中,请单击此处。\xa0如果您认识任何您认为愿意加入电话市政厅的人,请单击此处向他们发送电子邮件,或向他们发送此链接:\xa0-来自ACT”“]的Sarah”
"[""act"", 1, 24, ""Hi, thank you so much for RSVP'ing""]","[""act"", 1, 43, ""Thank you for taking the time to tell us why wireless matters to you!""]"