简体   繁体   English

基于pandas DataFrame Key Column的动态文件名

[英]Dynamic File Name based on pandas DataFrame Key Column

I have the following template DataFrame:我有以下模板 DataFrame:

df = pd.DataFrame({
    'File_name_Column': ['File1', 'File2', 'File3', 'File1', 'File2', 'File3'],
    'Column3': ['xxr', 'xxv', 'xxw', 'xxt', 'xxe', 'xxz'],
    'Column4': ['wer', 'cad', 'sder', 'dse', 'sdf', 'csd'],
    'Column5': ['xxr', 'xxv', 'xxw', 'xxt', 'xxe', 'xxz'],
    'Column6': ['xxr', 'xxv', 'xxw', 'xxt', 'xxe', 'xxz'],})

I want to write several .txt files named based on the column "File_name_Column".我想写几个基于“File_name_Column”列命名的 .txt 文件。

I want to use something like this, but it's not working:我想使用这样的东西,但它不起作用:


df.to_csv(f'{df_File_name_Column}.txt', sep='|', index=False, header=False)

Desired Output:
File1.txt
'xxr'|'wer'|'xxr'|'xxr'
'xxt'|'dse'|'xxt'|'xxt'

File2.txt
'xxv'|'cad'|'xxv'|'xxv'
'xxe'|'sdf'|'xxe'|'xxe'

File3.txt
'xxw'|'sder'|'xxw'|'xxw'
'xxz'|'csd'| 'xxz'| 'xxz'

Note¹: This is millions of rows dataframe注意¹:这是数百万行数据框

Note²: I cannot use Open() Function, because I'm migrating this pipeline to a platform that don't support this function.注意²:我不能使用 Open() 函数,因为我正在将此管道迁移到不支持此函数的平台。

One approach, groupby + to_csv :一种方法, groupby + to_csv

for key, group in df.groupby("File_name_Column"):
    group.drop("File_name_Column", 1).to_csv(f"{key}.txt", sep='|', index=False, header=False)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM