我的JSON解析不正确。我究竟做错了什么?

时间:2017-03-16 14:34:45

标签: python json python-3.x csv pandas

我正在尝试运行一个小脚本,只是为了读取两列CSV,转换为JSON,然后发送到服务。我认为代码应该是相当直接的:

#read excel
df = pd.read_csv('C:\\Users\\Admin\\Desktop\\CSV_1.csv')

# Randomly sample 3% of your dataframe
df_10 = df.sample(frac=0.03)

#convert excel to json for testing
json_file=df_10.to_json()

source = json.loads(json_file)

for row in source:
    player = row[0]
    team = row[1]

问题是,行[0]和行[1]似乎是我的CSV的每一列中的第一个字符....而不是整行。我的CSV最初格式为

Player, Team

我是否错误地解析了JSON或如何在此处读取正确的数据?

感谢。

1 个答案:

答案 0 :(得分:2)

source是一个字典,所以你要重复字典中的键,而不是csv中的行。

如果没有看到json本身,很难确切知道你的目标。但是当你row[0]做一个字符串切片时(幸运的是json要求关键部分是一个字符串,所以你不会因为类型错误而被击中),这就解释了为什么你会看到第一个该列的字母(和team同样应该是同一列的第二个字母)

您可能希望迭代字典的.items(),这是我的猜测。

for k, v in source.items():

然后你会分别使用kv来处理字典项的键值和值部分。