python 导出为csv将文本转换为日期

b4qexyjb  于 2023-02-15  发布在  Python
关注(0)|答案(3)|浏览(301)

我想从Python导出为csv格式的 Dataframe
Dataframe 包含如下两列

所以当我写这篇文章的时候

df['NAME'] = df['NAME'].astype(str) # or .astype('string')
df.to_csv('output.csv',index=False,sep=';')

csv格式的excel输出将返回以下内容:

并将值“MAY 8218”读取为日期格式“May-18”,而我希望它被读取为“MAY 8218”。
我试过很多方法,但是没有一个有效。我不想用在值的左边和右边加引号这样的替代方法。
谢谢。

u3r8eeie

u3r8eeie1#

如果你想导出 Dataframe 在excel中使用,只需将其导出为xlsx。它对我很有效,并将值保持为原始格式的字符串。

df.to_excel('output.xlsx',index=False)
watbbzwu

watbbzwu2#

CSV格式为 text 格式。该文件不包含字段类型的提示。问题是Excel对CSV文件的支持可能最差:它假设CSV文件在你试图读取时总是使用它自己的约定。简而言之,一个Excel实现只能正确读取它所写的内容...
这意味着您无法阻止Excel按照自己的方式解释csv数据,至少在您 * 打开 * csv文件时是这样。幸运的是,您还有其他选择:

  • import csv文件而不是打开它。这次您可以选择配置处理文件的方式。
  • 使用LibreOffice Calc来处理CSV文件。LibreOffice在大多数方面都比Microsoft Office落后一点 *,除了CSV文件处理 *,在这方面它有很好的支持。
v440hwme

v440hwme3#

将文本字符串(如MAY 8218)转换为日期格式(如“May-18”)的最佳方法是使用Pandas中的pd.to_datetime方法。
首先,使用df['NAME'] = df['NAME'].astype(str)确保包含文本的字段正确转换为字符串。然后,使用pd.to_datetime(df['NAME'], format='%b%y')将字符串转换为datetime对象。最后,使用df.to_csv('output.csv',index=False,sep=';')将转换后的数据保存到CSV文件。

相关问题