我有一个较大的csv文件,我想根据其中一列中的数据将其拆分为单独的数据文件,以便可以分析所有相关数据。
ie. [name, color, number, state;
bob, green, 21, TX;
joe, red, 33, TX;
sue, blue, 22, NY;
....]
我想让它把每个状态值的数据放到它自己的数据子文件
df[1] =[bob, green, 21, TX]
[joe, red, 33, TX]
df[2] =[sue, blue, 22, NY]
Pandas似乎是最好的选择,因为给定的csv文件大约有500行长
您可以尝试这样做:
import pandas as pd
for state, df in pd.read_csv("file.csv").groupby("state"):
df.to_csv(f"file_{state}.csv", index=False)
这里file.csv
是您的基本文件。如果看起来像
name,color,number,state
bob,green,21,TX
joe,red,33,TX
sue,blue,22,NY
输出将是2个文件:
file_TX.csv
:
name,color,number,state
bob,green,21,TX
joe,red,33,TX
file_NY.csv
:
name,color,number,state
sue,blue,22,NY
读取csv文件有不同的方法。您可以在以下链接中找到所有方法:(https://www.analyticsvidhya.com/blog/2021/08/python-tutorial-working-with-csv-file-for-data-science/)
因为您想使用数据框架,所以使用pandas确实是一个实用的选择。一开始你可以这样做:
import pandas as pd
df = pd.read_csv(r"file_path")
现在让我们假设在这些行之后,您有以下数据帧: