简体   繁体   English

如何读取python pandas中包含字典的.csv文件?

[英]How to read .csv file that contains dictionaries in python pandas?

I have a dataframe like:我有一个 dataframe 像:

A,B
{"a":["b","c"]},{"d":["e","f"]}

when I run this code:当我运行这段代码时:

df = pd.read_csv("mycsv.csv")
print(df['A'])

to print df['A'] which must be {"a":["b","c"]} it returns this strange thing:打印df['A']必须是{"a":["b","c"]}它返回这个奇怪的东西:

{"a":["b"  c]}    {"d":["e"

How should I read df['A'] like {"a":["b", "c"]} ?我应该如何阅读df['A'] like {"a":["b", "c"]}

This happends because you have commas inside your dicts.发生这种情况是因为您的命令中有逗号。 Csv reader treats commas as separators that's why it splits second line into 4 parts: Csv reader 将逗号视为分隔符,这就是为什么它将第二行分成 4 个部分:

1. {"a":["b"     
2. "c"]}     
3. {"d":["e"     
4. "f"]}

You can do one of the following:您可以执行以下操作之一:

  1. Use different separator, like semicolon:使用不同的分隔符,如分号:
A;B
{"a":["b","c"]};{"d":["e","f"]}
df = pd.read_csv("mycsv.csv", sep=';')
  1. Or explicitly mark your dictionary as strings:或者将您的字典明确标记为字符串:
A,B
'{"a":["b","c"]}','{"d":["e","f"]}'
df = pd.read_csv("mycsv.csv", quotechar="'")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM