python - 将数据帧转换为 csv 时出错
问题描述
对于自动化,我需要将一个 excel 文件转换为 csv,并在某些列中进行一些修改。在其中一列中,我需要将时间戳更改为 %Y-%m-%d %H:%M:%S'。目前我可以做所有事情,并且更改会反映在数据帧上,除了当我将其转换为 csv 时,时间戳格式会更改,
这是我现在一直在尝试的代码
df=pd.read_excel(file,headers=0,index=False)
print(df.head())
df['Reported On '] = pd.to_datetime(df['Reported On '])
df['Reported On ']= df['Reported On '].apply(lambda x: dt.datetime.strftime(x, '%Y-%m-%d %H:%M:%S'))
df.to_csv(csv_name,index=False)
CSV 中的 Reported On 列给出的值是:8/10/2017 10:50
如果我将数据框转换为 excel,它会给我所需的格式。
是 csv 的问题吗?
解决方案
即使我无法重现您的错误,请注意您可以在编写文件时在 csv 文件中定义日期的字符串表示,而不是更改您的数据:
df=pd.read_excel(file,headers=0,index=False)
print(df.head())
df['Reported On '] = pd.to_datetime(df['Reported On '])
df.to_csv(csv_name, date_format='%Y-%m-%d %H:%M:%S', index=False)
无论如何,这对 IMO 来说更好,因为它使您的数据帧独立于可计算状态的某些输出格式要求。
推荐阅读
- webpack - 编辑联合模块时由 Webpack-Dev-Server 实时重新加载
- java - 有没有办法在 talend 中找到过去 24 小时或 1 天内的文件,而无需从 ftp 读取整个文件列表
- powershell - Powershell Invoke-WebRequest 在下载文件时冻结 UI
- python - Flatbuffers - struct.error: unpack_from 需要至少 4 个字节的缓冲区
- r - 如何在没有 gtsummary 包的情况下为分类变量创建频率表
- pandas - 熊猫显示三个变量之间的相关性
- sql - 将所有祖先列为列的递归 CTE
- python - 我希望能够通过输入输入一个单词,如果该单词包含英语则返回 true,如果不包含则返回 false
- python - 如何访问 Numpy Polynomial.fit 的输出?
- powershell - 有没有办法根据文件资源管理器中的文件选择将击键输入到 Internet Explorer 中运行的 Web 应用程序中