csv Python pandas在Linux中运行脚本时日期格式更改为1970年

mbskvtky  于 12个月前  发布在  Python
关注(0)|答案(1)|浏览(91)

我试图运行Python脚本将CSV列的日期格式转换为yyyy-dd-mm格式,但日期更改为1970。这是我正在运行的脚本我的日期看起来像20230915124356。这个脚本运行了几次正确地产生2023-09-15,但它的工作后,我从Linux shell运行

import python as pandas
df = pd.read_csv('your_file.csv')

df['Form Date'] = pd.to_datetime(df['Form Date']).dt.strftime('%Y-%m-%d')

df.to_csv('your_file.csv', index=False)

尝试从Linux终端运行bt值显示为1970

bzzcjhmw

bzzcjhmw1#

问得好发生这种情况是因为pandas在csv中将datetime值作为整数读取,但它需要一个字符串。加载CSV后尝试此操作

In [18]: df.dtypes
Out[18]: 
Form Date     int64

一个整数
您需要日期为字符串。这里有几个选择。加载csv后,可以通过以下方式更改dtype:

df["Form Date"] = df["Form Date"].asdtype(str)

或者,您可以在加载csv as shown here时指定dtype:

df = pd.read_csv("your_file.csv", converters={'Form Date':str})

无论哪种方式,您现在都可以使用原始代码转换为日期时间。

相关问题