python - Pandas:分割单元格并将数据附加到另一个单元格

标签 python pandas csv merge split

好吧,我正在尝试拆分 csv 中的一个单元格,并获取信息的后半部分并将其附加到另一个单元格数据中。我可以拆分单元格,但随后我想要的数据就会消失。

此代码用于拆分单元格

import pandas as pd

data = pd.read_csv("/root/v-unit/calendar_data.csv")


data["Start"]= data["Start"].str.split("T",n =1, expand = True)
data["End"]= data["End"].str.split("T",n =1, expand = True)

print data
csvOut = "/root/v-unit/test-data.csv"
f=open(csvOut, 'a')
data[:65534].to_csv(f, index=False, header=True)

因此日期的格式为 2019-03-04T00:00:00 我在时间 T 处拆分该列。然后我想获取时间戳并将其附加到包含任务的另一行,这样它就会显示为:一个单元格中的某个任务 12:00 1:00 然后其他单元格中的日期(当我这样做时它们已经这样做了)运行上面的代码,但时间戳消失了,所以我无法合并它)

最佳答案

几乎和您一样,但是当您使用扩展进行拆分时,它会返回 2 列,因此您在分配中也需要有 2 列(例如 data[['StartDate', 'StartTime']] = ...):

data = pd.DataFrame({'Start': ['2019-03-04T00:00:00'],
                     'End':   ['2019-03-04T10:00:00']})

data[['Start', 'StartTime']] = data["Start"].str.split("T", n=1, expand = True)
data[['End', 'EndTime']] = data["End"].str.split("T", n=1, expand = True)

print(data)

输出:

        Start         End StartTime   EndTime
0  2019-03-04  2019-03-04  00:00:00  10:00:00

注意:如果您只想在任务名称中添加开始和结束时间,则甚至不需要拆分日期。您可以使用 pd.to_datetime 将它们转换,然后使用 strftime 将其格式化为 '%H:%M'(对于 小时:分钟):

data = pd.DataFrame({'Task': 'task 1',
                     'Start': ['2019-03-04T00:00:00'],
                     'End':   ['2019-03-04T10:00:00']})

data['Task'] += ' ' + \
    pd.to_datetime(data['Start']).dt.strftime('%H:%M').astype(str) + ' ' + \
    pd.to_datetime(data['End']).dt.strftime('%H:%M').astype(str)

print(data)

输出:

                 Task                Start                  End
0  task 1 00:00 10:00  2019-03-04T00:00:00  2019-03-04T10:00:00

关于python - Pandas:分割单元格并将数据附加到另一个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55169032/

相关文章:

python - Pandas 中的 Excel SUMIF 等效项

python - ValueError : Input 0 is incompatible with layer lstm_13: expected ndim=3, 发现 ndim=4

python - Pandas Dataframe 性能与列表性能

java - 使用 JDBC 读取 csv 文件时如何转义 '"'?

c# - 不能分割线

c++ - 数数在csv中的csv文件中的单词

python - Pandas:使用小于给定值的元素获取第一行的有效方法

python - 如何在groupadd cloud-init中创建自定义GID?

python - 格式化日期时间以使用 pandas 绘制时间序列

python - 根据另一列的名称重命名 Pandas Multiindex