gpt4 book ai didi

python - python pandas 根据日期将数据导出到多个excel文件

转载 作者:行者123 更新时间:2023-12-01 08:11:06 30 4
gpt4 key购买 nike

我正在尝试根据日期将数据集导出到多个 Excel 文件。

这是我的 table

datestart
+----------+
2019-03-14
2019-03-14
2019-03-12
2019-03-11
2019-03-08
2019-03-07
2019-03-06
2019-03-05
2019-03-04
2019-03-01

对于每个日期,我想创建一个新文件。

datestart   | filename
+-----------+-------------+
2019-03-14 | file_031419
2019-03-14 | file_031419
2019-03-12 | file_031219
2019-03-12 | file_031219
2019-03-08 | file_030819
2019-03-08 | file_030819
2019-03-06 | file_030619
2019-03-06 | file_030619
2019-03-06 | file_030619
2019-03-01 | file_030119

日期存储为日期时间。我不想对日期进行硬编码。我希望脚本查找具有相同日期的列,将它们分组在一起并导出到文件名中包含日期的文件。

脚本应导出到 5 个文件。每个文件仅包含具有特定日期的数据。

例如,file_031419 只会包含日期为 031419 的数据,file_031219 只会包含 031219 数据,等等。

file_031419文件_031219文件_030819文件_030619file_030119

最佳答案

您可以使用list(set())获取唯一日期的列表,使用Pandas和df.loc[]根据日期对数据进行子集化,使用 pd.to_datetime() 将日期转换为您想要的文件名格式,然后使用 df.to_excel() 将数据集保存为 Excel 文件:

import pandas as pd

df = pd.Series('''2019-03-14
2019-03-14
2019-03-12
2019-03-12
2019-03-08
2019-03-08
2019-03-06
2019-03-06
2019-03-06
2019-03-01'''.split('\n'), name='datestart', dtype=str).to_frame()

df['data'] = np.random.rand(len(df))

# Get unique dates
dates = list(set(df.datestart.values))

for date in dates:
idx = df.datestart == date # Filter by unique date
filename = 'file_'+list(set(pd.to_datetime(df.loc[idx, 'datestart']).dt.strftime('%m%d%y')))[0]+'.xlsx'
df.loc[idx, 'data'].to_excel(filename) # Save subset of data frame as excel file

关于python - python pandas 根据日期将数据导出到多个excel文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55248479/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com