首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打印列以分离文件+日期时间数据(分钟/秒)

打印列以分离文件+日期时间数据(分钟/秒)
EN

Stack Overflow用户
提问于 2014-11-06 01:50:27
回答 1查看 1.2K关注 0票数 1

我正在尝试打印的列,以便在Python2.7中分离*.csv文件。

使用这段代码,我得到一个包含4列和日期索引的dataframe:

代码语言:javascript
复制
import pandas as pd
import numpy as np

col_headers = list('ABCD')
dates = pd.date_range(dt.datetime.today().strftime("%m/%d/%Y"),periods=rows)
df2 = pd.DataFrame(np.random.randn(10, 4), index=dates, columns = col_headers)
df = df2.tz_localize('UTC') #this does not seem to be giving me hours/minutes/seconds

然后删除索引并将其设置为单独的列:

代码语言:javascript
复制
df['Date'] = df.index
col_headers.append('Date') #update the column keys

在这一点上,我只需要打印数据文件的所有5列来分离文件。以下是我尝试过的:

代码语言:javascript
复制
for ijk in range(0,len(col_headers)):
    df.to_csv('output' + str(ijk) + '.csv', columns = col_headers[ijk])

我收到以下错误消息:

代码语言:javascript
复制
KeyError: "[['D', 'a', 't', 'e']] are not in ALL in the [columns]"

如果我说:

代码语言:javascript
复制
for ijk in range(0,len(col_headers)-1):

然后它可以工作,但它不打印‘日期’笨拙。这不是我想要的。我还需要打印日期列。

问题:

  • 如何让它将“日期”列打印到*.csv文件中?
  • 我如何获得时间的小时,分钟和秒?如果行数从10更改为5000,那么秒会从dataframe的一行更改为下一行吗?

编辑:-对于特定代码的Q2 (See here) ==>的回答,请参阅以下内容:

代码语言:javascript
复制
dates = pd.date_range(dt.datetime.today().strftime("%m/%d/%Y %H:%M"),periods=rows)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-06 09:21:37

我不太理解您的逻辑,但下面是一个更简单的方法:

代码语言:javascript
复制
for col in df:
    df[col].to_csv('output' + col + '.csv')

示例:

代码语言:javascript
复制
In [41]:

for col in df2:
    print('output' + col + '.csv')
outputA.csv
outputB.csv
outputC.csv
outputD.csv
outputDate.csv
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26770446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档