Python 如何防止值转换为日期或作为除法执行?

Python 如何防止值转换为日期或作为除法执行?,python,pandas,dataframe,Python,Pandas,Dataframe,我在数据框中有一列,其值的格式为XX/XX(例如:05/23、4/22等)。当我将其转换为csv时,它将转换为日期。如何防止这种情况发生 我试着在前面放一个等号,但它执行起来就像除法(例如:=4/20等于0.5) 我希望输出为原始格式XX/XX(例如:5/23在Excel的csv文件中保持为5/23)。使用df.dtypes检查数据帧的数据类型。我假设你的专栏被解释为日期。然后您可以执行df[col]=df[col].astype(您想要的np类型) 如果这不能得到预期的结果,请检查为什么在创建

我在数据框中有一列,其值的格式为XX/XX(例如:05/23、4/22等)。当我将其转换为csv时,它将转换为日期。如何防止这种情况发生

我试着在前面放一个等号,但它执行起来就像除法(例如:=4/20等于0.5)


我希望输出为原始格式XX/XX(例如:5/23在Excel的csv文件中保持为5/23)。

使用
df.dtypes检查数据帧的数据类型。我假设你的专栏被解释为日期。然后您可以执行
df[col]=df[col].astype(您想要的np类型)


如果这不能得到预期的结果,请检查为什么在创建df时将列解释为日期。解决方案取决于从何处获取数据。

这不是python或pandas的问题。问题是excel认为它很聪明,并假定它知道您的数据类型。您已接近尝试将
=
放在数据之前,但您的数据需要包装在qoutes中,并以
=
作为前缀。我不能说自己已经想出了这个答案。我从这里得到的

下面的代码将允许您编写一个CSV文件,然后在excel中打开该文件,而无需任何格式化尝试转换为日期或执行除法。但是,需要注意的是,只有在excel中打开CSV时,这才是真正的策略。当您将格式化信息包装在数据周围时,这些数据将被excel剥离。如果您在任何其他软件中使用此csv,您可能需要重新考虑它

import pandas as pd
import csv
data = {'key1': [r'4/5']}
df = pd.DataFrame.from_dict(data)
df['key1'] = '="' + df['key1'] + '"'
print(df)
print(df.dtypes)
with open(r'C:\Users\cd00119621\myfile.csv', 'w') as output:
    df.to_csv(output)
文件中的原始输出

,key1
0,"=""4/5"""
EXCEL输出


没有足够的信息。你在使用什么样的“数据库”?您如何将数据转换为CSV?CSV对日期或分区一无所知。您的意思是,当您在excel中打开它时,excel会在其上应用其格式化逻辑吗?你试过用引号括起来吗?@ForceBru对不起,我是说dataframe@ChrisDoyle我怎么用引号括起来呢?很难说,因为你没有真正显示你的任何代码,因为colums没有被解释为日期。出现的问题不是熊猫或python问题。问题是当CSV在excel中打开时,它将4/5解释为日期,然后将列默认为日期
,key1
0,"=""4/5"""