.to_csv 生成包含随机日期格式的 csv 文件
.to_csv produces csv file which contains random date format
正在使用 .to_csv method to convert Dataframes
。我得到日期字符串的随机日期格式。
对于 csv 中的给定列,日期格式在 mm/dd/yy 和 mm-dd-yyyy 之间奇怪地波动。原始数据框没有这个问题。
.csv 文件中的示例列
03-01-2014
10/19/13
04-11-2014
09/19/14
09/19/14
12/18/13
03-10-2013
04/13/14
我使用下面的代码生成日期列
def Get_random_date():
t=datetime.datetime.now()
mon=t.month
dy=t.day
yr=t.year
year = random.choice(range(2013, yr+1))
month = random.choice(range(1, mon+1))
day = random.choice(range(1, 28))
return pd.datetime(year,month,day)
def Generate_Dates():
DateCreated = pd.Series([])
date_created=Get_random_date()
DateCreated=date_created.strftime('%x')
return (DateCreated)
...
row=pd.DataFrame(index=index,columns=dt.columns)
row['Date Created']=Generate_Dates()
...
new_dt.to_csv('new_data.csv')
.csv 文件中的示例列
03-01-2014
10/19/13
04-11-2014
09/19/14
09/19/14
12/18/13
03-10-2013
04/13/14
您是否指定 date_format?
df.to_csv(filename, date_format='%Y%m%d')
也许你可以这样做:
df.to_csv(filename, date_format='%Y/%m/%d')
与@bcollins 类似,但请注意每个字符串标识符之间的 /
。
或者您可以像这样使用 Pandas to_datetime(args) 功能:
dates = [ "03-01-2014",
"10/19/13",
"04-11-2014",
"09/19/14",
"09/19/14",
"12/18/13",
"03-10-2013",
"04/13/14" ]
df = pd.DataFrame(dates)
df = pd.to_datetime(df[0])
显然,您会将 0
替换为数据框中日期所在的列的名称,但我相信您明白了。
这导致:
0 2014-03-01
1 2013-10-19
2 2014-04-11
3 2014-09-19
4 2014-09-19
5 2013-12-18
6 2013-03-10
7 2014-04-13
Name: 0, dtype: datetime64[ns]
然后您可以将其写入您想要的 csv
文件。
正在使用 .to_csv method to convert Dataframes
。我得到日期字符串的随机日期格式。
对于 csv 中的给定列,日期格式在 mm/dd/yy 和 mm-dd-yyyy 之间奇怪地波动。原始数据框没有这个问题。
.csv 文件中的示例列
03-01-2014
10/19/13
04-11-2014
09/19/14
09/19/14
12/18/13
03-10-2013
04/13/14
我使用下面的代码生成日期列
def Get_random_date():
t=datetime.datetime.now()
mon=t.month
dy=t.day
yr=t.year
year = random.choice(range(2013, yr+1))
month = random.choice(range(1, mon+1))
day = random.choice(range(1, 28))
return pd.datetime(year,month,day)
def Generate_Dates():
DateCreated = pd.Series([])
date_created=Get_random_date()
DateCreated=date_created.strftime('%x')
return (DateCreated)
...
row=pd.DataFrame(index=index,columns=dt.columns)
row['Date Created']=Generate_Dates()
...
new_dt.to_csv('new_data.csv')
.csv 文件中的示例列
03-01-2014
10/19/13
04-11-2014
09/19/14
09/19/14
12/18/13
03-10-2013
04/13/14
您是否指定 date_format?
df.to_csv(filename, date_format='%Y%m%d')
也许你可以这样做:
df.to_csv(filename, date_format='%Y/%m/%d')
与@bcollins 类似,但请注意每个字符串标识符之间的 /
。
或者您可以像这样使用 Pandas to_datetime(args) 功能:
dates = [ "03-01-2014",
"10/19/13",
"04-11-2014",
"09/19/14",
"09/19/14",
"12/18/13",
"03-10-2013",
"04/13/14" ]
df = pd.DataFrame(dates)
df = pd.to_datetime(df[0])
显然,您会将 0
替换为数据框中日期所在的列的名称,但我相信您明白了。
这导致:
0 2014-03-01
1 2013-10-19
2 2014-04-11
3 2014-09-19
4 2014-09-19
5 2013-12-18
6 2013-03-10
7 2014-04-13
Name: 0, dtype: datetime64[ns]
然后您可以将其写入您想要的 csv
文件。