我有一个很大的df,其中结束列是一个文件名。我想制作一个新的CSV文件,继续记录文件名中有“M”的所有文件的行。我已经设法做到这一点的大部分,但结束csv只有一行,包含最后一个文件已被发现在大型csv。我希望每一行都在新行上传输到csv
我已经尝试了很多方法,但没有任何运气。我见过一些非常不同的方法,但它需要改变我所有的代码时,感觉只有一个小的调整是必要的
path = '.../files/'
big_data = pd.read_csv('landmark_coordinates.csv', sep=',', skipinitialspace=True) #open big CSV as a DF
#put photos into a male array based on the M character that appears in the filename
male_files = [f for f in glob.glob(path + "**/*[M]*.??g", recursive=True)]
for each_male in male_files: #for all male files
male_data = big_data.loc[big_data['photo_name'] == each_male] # extract their row of data from the CSV and put in a new dataframe
# NEEDED: ON A NEW LINE! MUST APPEND. right now it just overwrites
male_data.to_csv('male_landmark_coordinates.csv', index=False, sep=',') #transport new df to csv format
就像我说的,我需要确保每个文件从一个新行开始。我真的很感激任何帮助,因为感觉我是如此接近
每次调用
df.to_csv
都会覆盖csv相关问题 更多 >
编程相关推荐