Python将csv文件转换为Json问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python将csv文件转换为Json问题相关的知识,希望对你有一定的参考价值。
我不熟悉python程序,有人可以帮忙吗?非常感谢!
def ConvertInputFileJsonStr(InputCsvPath):
#### Detail Data ####
fo = open(InputCsvPath, "r")
ColumnValuesCSVColumns = (
'externalDataRef', 'language','mailingListLibraryId','surveyID')
reader = csv.DictReader(fo, ColumnValuesCSVColumns)
ls = []
for row in reader:
ls.append(row)
groups = []
uniquekeys = []
for k, g in groupby(ls, lambda r: (r['externalDataRef'],r['language'], r['surveyID'])):
groups.append(
"externalDataRef": k[0],
"language": k[1],
"surveyID": k[2],
"qualtricsDetails": [k: v for k, v in d.items() if k not in ['externalDataRef','language','surveyID'] for d in list(g)]
)
uniquekeys.append(k)
return groups
fo.close()
它将返回
[
"externalDataRef": "535985",
"language": "EN",
"qualtricsDetails": [
"mailingListLibraryId": "9011111111111"
],
"surveyID": "123456789"
]
但我希望将其转换为以下示例。我该怎么办?
[
"externalDataRef": "535985",
"language": "EN",
"qualtricsDetails":
"mailingListLibraryId": "9011111111111"
,
"surveyID": "123456789"
]
答案
您需要获取列表的第一项。您可以通过它来完成此操作,但是对于空结果,它会显示list index out of range
错误。
"qualtricsDetails": [k: v for k, v in d.items() if k not in ['externalDataRef','language','surveyID'] for d in list(g)][0]
以上是关于Python将csv文件转换为Json问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python 将 CSV 文件数据转换为 JSON 格式