Python .apply(lambda…,strftime生成无

Python .apply(lambda…,strftime生成无,python,pandas,strftime,Python,Pandas,Strftime,我正在尝试更改从传感器接收的日期和时间值的格式。我最初将其作为字符串接收,并将其转换为datetime,然后尝试应用strftime。当我在Jupyter笔记本中对值集执行此操作时,它工作正常,但当我在代码中实现它时,它会中断。以下是我的代码: import json import socket from pandas.io.json import json_normalize from sqlalchemy import create_engine import pandas as pd im

我正在尝试更改从传感器接收的日期和时间值的格式。我最初将其作为字符串接收,并将其转换为datetime,然后尝试应用strftime。当我在Jupyter笔记本中对值集执行此操作时,它工作正常,但当我在代码中实现它时,它会中断。以下是我的代码:

import json
import socket
from pandas.io.json import json_normalize
from sqlalchemy import create_engine
import pandas as pd
import datetime

# Establish connection with Database
engine = create_engine('sqlite:///Production.db', echo=False)

# Establish connecton with Spider
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_socket.bind(('192.168.130.35', 8089))

# Receive data while sensor is live
while True:
    message, address = server_socket.recvfrom(1024)
    # Create empty list to hold data of interest
    objs_json = []
    # Record only data where tracked_objects exist within json stream
    if b'tracked_objects' in message:
        stream = json.loads(message)
        if not stream:
            break
        # Append all data into list and process through parser
        objs_json += stream
        print("Recording Tracked Object")

        # Parsing json file with json_normalize object
        objs_df = json_normalize(objs_json, record_path='tracked_objects',
                                 meta=[['metadata', 'serial_number'], 'timestamp'])
        # Renaming columns
        objs_df = objs_df.rename(
            columns={"id": "object_id", "position.x": "x_pos", "position.y": "y_pos",
                     "person_data.height": "height",
                     "metadata.serial_number": "serial_number", "timestamp": "timestamp"})

        # Selecting columns of interest
        objs_df = objs_df.loc[:, ["timestamp", "serial_number", "object_id", "x_pos", "y_pos", "height"]]

        # Converting datatime into requested format
        objs_df["timestamp"] = pd.to_datetime(objs_df["timestamp"])
        objs_df["timestamp"].apply(lambda x: x.strftime("%d-%m-%Y %Hh:%Mm:%Ss.%f")[:-3])

        # Writting the data into SQlite db
        objs_df.to_sql('data_object', con=engine, if_exists='append', index=False)
    # In case there is no tracks, print No Tracks in console.
    else:
        print("No Object Tracked")
    # Empty the list and prepare it for next capture
    objs_json = []
以下是我收到的错误消息:

线程1中的异常: 回溯(最近一次呼叫最后一次): 文件“C:\Program Files(x86)\Python37-32\lib\threading.py”,第926行,在\u bootstrap\u inner中 self.run() 文件“C:\Users\slavi\PycharmProjects\ProRail\u FInal\u POC\pythreads\runner.py”,第15行,正在运行 self.function(*self.args,**self.kwargs) ObjectStream中第46行的文件“C:\Users\slavi\PycharmProjects\ProRail\u FInal\u POC\ObjectStream.py” objs_df[“timestamp”]。应用(lambda x:x.strftime(“%d-%m-%Y%Hh:%Mm:%Ss.%f”)[:-3]) 文件“C:\Users\slavi\PycharmProjects\ProRail\u FInal\u POC\venv\lib\site packages\pandas\core\series.py”,第4049行,应用 返回self.\u构造函数(已映射,索引=self.index)。\uuuu完成\uuuu(self) 文件“C:\Users\slavi\PycharmProjects\ProRail\u FInal\u POC\venv\lib\site packages\pandas\core\series.py”,第299行,在初始化中__ “索引意味着{ind}”。格式(val=len(数据),ind=len(索引)) ValueError:传递值的长度为0,索引表示1
你知道如何解决这个错误吗?

你能分享一下
消息是什么吗?pnv-我已经做了。就在代码下面。你是指其他消息吗?