我想从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”。
我试过很多方法,但是没有一个有效。我不想用在值的左边和右边加引号这样的替代方法。
谢谢。
3条答案
按热度按时间u3r8eeie1#
如果你想导出 Dataframe 在excel中使用,只需将其导出为xlsx。它对我很有效,并将值保持为原始格式的字符串。
watbbzwu2#
CSV格式为 text 格式。该文件不包含字段类型的提示。问题是Excel对CSV文件的支持可能最差:它假设CSV文件在你试图读取时总是使用它自己的约定。简而言之,一个Excel实现只能正确读取它所写的内容...
这意味着您无法阻止Excel按照自己的方式解释csv数据,至少在您 * 打开 * csv文件时是这样。幸运的是,您还有其他选择:
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文件。