Python Kafka Producer TypeError:列表索引必须是整数或切片,而不是dict
我正在将json对象从kafka生产者发送到kafka消费者,但我发现错误:Python Kafka Producer TypeError:列表索引必须是整数或切片,而不是dict,python,json,apache-kafka,kafka-producer-api,Python,Json,Apache Kafka,Kafka Producer Api,我正在将json对象从kafka生产者发送到kafka消费者,但我发现错误: TypeError: list indices must be integers or slices, not dict. 以下是我为卡夫卡制作人编写的代码: jsonFilePath = "data.json" data = None with open(jsonFilePath) as f: data = json.load(f) print(type(data)) print(len(data))
TypeError: list indices must be integers or slices, not dict.
以下是我为卡夫卡制作人编写的代码:
jsonFilePath = "data.json"
data = None
with open(jsonFilePath) as f:
data = json.load(f)
print(type(data))
print(len(data))
count = 0
for record in data:
# print(str(data[record]))
# print(data[record])
producer.send('testTopic', value=data[record])
count = count + 1
我的json对象看起来像:
{
"Order Number": "CA-2014-103800",
"Order Status": "Completed",
"Order Date": "03/01/2014",
"First Name (Billing)": "Saima",
"Last Name (Billing)": "Nasir",
"Company (Billing)": "",
"Address 1&2 (Billing)": "",
"City (Billing)": "",
"State Code (Billing)": "PB",
"Postcode (Billing)": 54810,
"Country Code (Billing)": "PK",
"Email (Billing)": "",
"First Name (Shipping)": "Saima",
"Last Name (Shipping)": "Nasir",
"Address 1&2 (Shipping)": "",
"City (Shipping)": "Lahore",
"State Code (Shipping)": "PB",
"Postcode (Shipping)": 54810,
"Country Code (Shipping)": "PK",
"Shipping Method Title": "Free shipping",
"Payment Method Title": "Cash on delivery",
"Cart Discount Amount": 0,
"Order Subtotal Amount": 0,
"Order Shipping Amount": 0,
"Order Refund Amount": 0,
"Order Total Amount": 16.448,
"Order Total Tax Amount": 0,
"Category": "Kids",
"Item # #1": 1,
"SKU #1": "",
"Item Name #1": "Ladies Shoes - Navy, 40",
"Quantity #1": 2,
"Item Cost #1": 0,
"Coupon Code": "",
"Discount Amount": 0.2,
"Discount Amount Tax": "",
"Profit": 5.5512
}
在
for
循环中,记录
不是索引,而是实际值
因此,
for record in data:
producer.send('testTopic', value=data[record])
请尝试以下操作:
for record in data:
producer.send('testTopic', value=record])
请尝试创建一个带有打印(数据[记录])
卡夫卡不是这里的问题。标签移除