我目前正在阅读一个关于熊猫的csv文件。我希望将包含类似datetime的字符串的列转换为DateTime对象。我对我的数据库有一些限制,规定该列应该是这种类型。
我的csv文件中的一个示例行是:
2015-11-28 00:10:00, 99, 21
当我遇到以下情况时,我最初遇到了这个问题。
# import CSV file
df = pd.read_csv(filename, error_bad_lines=False, warn_bad_lines=False)
# TODO Save data into db
# ADD time, banana, apple
for i in df.index:
m = AggregatedMeasurement(
time=df.loc[i, 'Time UTC'],
banana=df.loc[i, 'BANANA'],
apple=df.loc[i, 'APPLE']
)
db.session.add(m) # add to db
db.session.commit() # perform them all
我收到了以下错误。
StatementError: (builtins.TypeError) SQLite DateTime type only accepts Python datetime and date objects as input
我开始在这里搜索,发现可以指示date_parser并开始组合。这是我迄今为止在这个建议的帮助下所尝试的。熊猫可以自动识别日期吗?
dateparse = lambda x: pd.datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
# import CSV file
df = pd.read_csv(filename, error_bad_lines=False, warn_bad_lines=False, parse_dates=['datetime'],
date_parser=dateparse)
现在我得到了以下错误:
ValueError: 'datetime' is not in list
我实施错了吗?提前感谢!
更新1
在以下更改之后
dateparse = lambda x: pd.datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
# import CSV file
df = pd.read_csv(filename, error_bad_lines=False,
warn_bad_lines=False,
parse_dates=['Time UTC'],
date_parser=dateparse)
我得到了一个TypeError:'NoneType'对象是不可订阅的
在这个特定的部分date_parser=dateparse)
更新2 后来,我尝试了下一个建议。
df = pd.read_csv(filename, error_bad_lines=False,
warn_bad_lines=False)
# Changing datatype
df['Time UTC'] = pd.to_datetime(df['Time UTC'])
我认为这:)我得到了另一个错误,但这对应于另一个数据库限制关系/外币,我还没有设置。
可能是一个简单的错误。我认为你应该这样做:
df = pd.read_csv(filename,
error_bad_lines=False,
warn_bad_lines=False,
parse_dates=['Time UTC'],
date_parser=dateparse)
事实上,您应该parse_dates
参考“时间UTC”
,这是感兴趣的列,而不是“日期时间
”。
否则,您可能更容易让<code>pd。to_datetime()使用以下方法处理任务:
df = pd.read_csv(filename, error_bad_lines=False,
warn_bad_lines=False)
# Changing datatype
df['Time UTC'] = pd.to_datetime(df['Time UTC'])
问题内容: 例如字符串: 我将把它们推回到数据库中正确的日期时间字段中,因此我需要将它们魔术化为实际的日期时间对象。 这是通过Django的ORM进行的,因此我无法使用SQL进行插入时的转换。 问题答案: 是将字符串解析为日期时间的主要例程。它可以处理各种格式,格式由你为其指定的格式字符串确定: 生成的对象是时区未使用的。 链接: 适用于strptime:Python 2和Python 3的 Py
问题内容: 将日期转换为JSON时,javascript会以以下格式保存日期: 但是,我不确定如何将其放入python datetime对象。我已经尝试过这些: 我相信javascript会将字符串保存为官方ISO格式,因此似乎应该有一种方法可以让python 读取它? 问题答案: 请尝试以下格式: 例如: 该的日期只是手段,它应该被解释为UTC时间,所以忽略它不会造成任何信息丢失。您可以在这里找
问题内容: 我在mysql中使用NOW()获取当前日期和时间。我想将日期值转换为varchar并将其与另一个字符串连接。我该怎么做? 问题答案: 使用DATE_FORMAT()
问题内容: 我从来没有不得不将时间与UTC转换。最近有人要求我的应用注意时区,并且我一直在圈子里奔波。我发现很多有关将本地时间转换为UTC的信息,这很基本(也许我也做错了),但是我找不到任何有关将UTC时间轻松转换为最终用户时区的信息。 简而言之,android应用程序向我发送了(appengine应用程序)数据,该数据中包含时间戳。要将时间戳存储为UTC时间,我正在使用: 那似乎行得通。当我的应
问题内容: 我试图将字符串转换为日期时间对象。我从新闻提要中获取的字符串格式如下:“星期四,2014年10月16日美国东部时间01:16:17” 我尝试使用datetime.strptime()进行转换。即 并得到以下错误: 追溯(最近一次通话最近): 文件“”,第1行,位于datetime.strptime(’Thu,16 Oct 2014 01:16:17 EDT’,’%a,%d%b%Y%H:
我有以下字符串: 我尝试用以下代码将此字符串转换为: Java . time . format . datetimeparseexception:无法解析文本“18/07/2019 04:30:00”:无法从TemporalAccessor获取LocalDateTime 我错过了什么?