Я пытаюсь понять, почему фреймы данных позволяют мне использовать целые числа для помощи в индексировании одной функции, но не другой. Тот, где он работает, выглядит следующим образом ...
for item in xl.sheet_names:
listOfDataStrings = []
if "platform_observer_data" in str(item):
theDataframe = xl.parse(item)
platformlist = []
tracklist = []
timelist = []
for i in range(len(theDataframe)):
currentplatformindex = '540'
#print(currentplatform)
for col in theDataframe.columns:
if currentplatformindex == str(theDataframe.loc[i, "Index"]):
platformlist.append(str(theDataframe.loc[i, "Platform_Name"]))
timelist.append(theDataframe.loc[i, "Time"])
tracklist.append(theDataframe.loc[i, "Tracks"])
data = {'"' + 'platform_name' : str(theDataframe.loc[i, "Platform_Name"]), 'tracks' : str(theDataframe.loc[i, "Tracks"]), 'time' : str(theDataframe.loc[i, "Time"]) + '"'}
#data = '"' + 'platform_name:' + str(theDataframe.loc[i, "Platform_Name"]) +'tracks:' + str(theDataframe.loc[i, "Tracks"]) + 'time:' + str(theDataframe.loc[i, "Time"]) + '"'
producer.send('numtest', data)
print(data)
sleep(2)
break
А тот, который не позволяет, выглядит так ...
def sendKafkaMessages(theDataframe):
platformlist = []
tracklist = []
timelist = []
for i in range(len(theDataframe)):
currentplatformindex = '541'
# print(currentplatform)
for col in theDataframe.columns:
print(str(i))
if currentplatformindex == str(theDataframe.loc[i, "Index"]):
platformlist.append(str(theDataframe.loc[i, "Platform_Name"]))
timelist.append(theDataframe.loc[i, "Time"])
tracklist.append(theDataframe.loc[i, "Tracks"])
data = {'"' + 'platform_name': str(theDataframe.loc[i, "Platform_Name"]),
'tracks': str(theDataframe.loc[i, "Tracks"]), 'time': str(theDataframe.loc[i, "Time"]) + '"'}
# data = '"' + 'platform_name:' + str(theDataframe.loc[i, "Platform_Name"]) +'tracks:' + str(theDataframe.loc[i, "Tracks"]) + 'time:' + str(theDataframe.loc[i, "Time"]) + '"'
producer.send('numtest', data)
print(data)
time.sleep(2)
break
В первом примере я получение Dataframe через файл .Xlsx, а второй я читаю из .CSV, используя эту строку df = pd.read_csv(event.src_path)
. Я могу распечатать фрейм данных, полученный из df = pd.read_csv(event.src_path)
, но по какой-то причине не могу выполнить его итерацию без появления ошибки, связанной с целочисленным индексированием. Любая помощь очень ценится !!