我有一个包含3列的csv文件。列之一具有键值形式的数据。
示例(来源,主题和视图为列)
Source Topic Views
Web {"title":"Weather for Paris
","object":"storm,hail","description":"thunderstorm"} 234
此处“主题”列具有键值形式的值。此处的键是标题,对象和描述。我只想提取csv中所有记录的键“ title”下的值。
预期产量
Weather for Paris
如何使用python完成此操作?
答案 0 :(得分:0)
df = pandas.read_csv('dict.csv', usecols = ['Topic'], sep = '|')
df['Topic'].apply(lambda x: json.loads(x)['title']).values
dict.csv
具有以下结构
Source|Topic|Views
Web|{"title":"Weather for Paris","object":"storm,hail","description":"thunderstorm"}|34
请注意,我添加了分隔符|
,否则字典将无法正确解析。另一种选择是拥有
Source,Topic,Views
Web,"{""title"":""Weather for Paris"",""object"":""storm,hail"",""description"":""thunderstorm""}",34
在这种情况下,您只需将sep
选项从通话中删除到read_csv