Pandas将数据写入不同的csv文件中。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pandas将数据写入不同的csv文件中。相关的知识,希望对你有一定的参考价值。
我有一个数据框架,看起来像这样的
Name Location Date Time Open High Low Close Volume VWAP Trades
4 Orange New York 20200501 15:30:00 5.50 5.85 5.45 5.70 1500 5.73 95
5 Orange New York 20200501 17:00:00 5.65 5.70 5.50 5.60 1600 5.65 54
6 Orange New York 20200501 20:00:00 5.80 5.85 5.45 5.81 1700 5.73 41
0 Apple Minsk 20200504 15:30:00 3.70 3.97 3.65 3.75 1000 3.60 55
1 Apple Minsk 20200504 17:00:00 3.65 3.95 3.50 3.80 1200 3.65 68
2 Apple Minsk 20200504 20:00:00 3.50 3.83 3.44 3.60 1300 3.73 71
我如何根据 "名称 "和 "位置 "列将每一行写入不同的文件?
希望的输出。
"地点"。"EntitiesNew YorkOrangeTwoHours.csv"
Name Location Date Time Open High Low Close Volume VWAP Trades
4 Orange New York 20200501 15:30:00 5.50 5.85 5.45 5.70 1500 5.73 95
5 Orange New York 20200501 17:00:00 5.65 5.70 5.50 5.60 1600 5.65 54
6 Orange New York 20200501 20:00:00 5.80 5.85 5.45 5.81 1700 5.73 41
位置:"Entities/Minsk/Apple/TwoHours.csv "EntitiesMinskAppleTwoHours.csv"
Name Location Date Time Open High Low Close Volume VWAP Trades
0 Apple Minsk 20200504 15:30:00 3.70 3.97 3.65 3.75 1000 3.60 55
1 Apple Minsk 20200504 17:00:00 3.65 3.95 3.50 3.80 1200 3.65 68
2 Apple Minsk 20200504 20:00:00 3.50 3.83 3.44 3.60 1300 3.73 71
谁能帮帮我? 我目前使用的代码将整个数据框写入每个文件,而不仅仅是特定的行。
for idx, rows in Dataframe.iterrows():
dest_dir = os.path.join('Entities', rows.Location, rows.Name)
csv_file = os.path.join(dest_dir, 'TwoHours.csv')
if not os.path.exists(csv_file):
os.makedirs(dest_dir)
print("Writing .csv's " + str(idx))
df1.to_csv(csv_file, sep=";", index=False)
答案
这里是可能的循环 DataFrame.groupby
含有解包的对象 name
和 loc
从元组中提取,必要时创建 folder
s,最后写组到文件。
for (name, loc), g in Dataframe.groupby(['Name','Location']):
dest_dir = os.path.join('Entities', loc, name)
csv_file = os.path.join(dest_dir, 'TwoHours.csv')
if not os.path.exists(csv_file):
os.makedirs(dest_dir)
g.to_csv(csv_file, sep=";", index=False)
以上是关于Pandas将数据写入不同的csv文件中。的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Python Pandas 将 CSV 文件写入 XLSX?
pandas to_csv:将 pandas 写入 csv 时抑制 csv 文件中的科学记数法