Python 将文件保存到多个不同的CSV文件中
这是一些生成随机时间序列数据的代码。最终,我试图将每天的数据保存到单独的CSV文件中Python 将文件保存到多个不同的CSV文件中,python,pandas,Python,Pandas,这是一些生成随机时间序列数据的代码。最终,我试图将每天的数据保存到单独的CSV文件中 import pandas as pd import numpy as np from numpy.random import randint np.random.seed(10) # added for reproductibility
import pandas as pd
import numpy as np
from numpy.random import randint
np.random.seed(10) # added for reproductibility
rng = pd.date_range('10/9/2018 00:00', periods=1000, freq='1H')
df = pd.DataFrame({'Random_Number':randint(1, 100, 1000)}, index=rng)
我可以使用以下内容打印每天的数据:
for idx, days in df.groupby(df.index.date):
print(days)
但是,我如何将单个CSV文件合并到一个目录CSV
中,每个文件都以月和日的第一个时间戳条目命名?(下面的代码不起作用)
您可以迭代所有可用的天数,过滤数据帧,然后保存
# iterate over all available days
for date in set(df.index.date):
# filter your dataframe
filtered_df = df.loc[df.index.date == date].copy()
# save it
filename = date.strftime('%m_%d') # filename represented as 'month_day'
filtered_df.to_csv(f"./csv/{filename}.csv")
什么不起作用?你能准确指出你面临的错误吗?你能解释一下为什么内部
for
循环吗?我创建了一个子目录csv
,但是当我运行代码时,我得到一个错误FileNotFoundError:[Errno 2]没有这样的文件或目录:'/csv/11_06.csv'
是否可以修改代码以访问子目录,然后将文件保存到文件名
?我想你的意思是/csv/xxx.csv
?而不是/csv/xxx.csv
?编辑好了,很有效,谢谢你。
有什么作用?不客气!使用/
作为路径意味着您将从当前位置开始。当以/
开头时,通常指操作系统的根目录,例如/etc/
# iterate over all available days
for date in set(df.index.date):
# filter your dataframe
filtered_df = df.loc[df.index.date == date].copy()
# save it
filename = date.strftime('%m_%d') # filename represented as 'month_day'
filtered_df.to_csv(f"./csv/{filename}.csv")