gpt4 book ai didi

python - 将数据分割成多个文件 : how to handle (unknown number of) multiple connections

转载 作者:行者123 更新时间:2023-11-28 22:13:08 25 4
gpt4 key购买 nike

我想将一个(在现实生活中:巨大的)文件拆分成多个文件,这些文件由数据中的第二列指定。 IE。在下面的示例中,我需要文件 431.csvrr1.csv。我的主要想法是打开新连接以写入(如果尚未打开)- 打开连接的记录在字典 files_dict 中,然后遍历它并在最后关闭。

我被困在如何逐行引用这些连接上。

在现实生活中,这些文件名(第二列)的数量和值(value)是事先不知道的。

在这里找到一些灵感:

write multiple files at a time

python inserting variable string as file name

How can I split a text file into multiple text files using python?

data_in中玩具数据的内容:

123,431,t
43,rr1,3
13,rr1,43
123,rr1,4

我现在的天真伪代码:

files_dict = dict() #dict of file names

with open(data_in) as fi:
for line in fi:
x = line.split(',')[1]

if x not in files_dict:
fo = x + '.csv'
files_dict[x] = fo

'''
open files_dict[x]
write line to files_dict[x]

'''
else:
'''
write line to files_dict[x]
'''

for fo in files_dict.fos:
fo.close()

最佳答案

你的想法是正确的,但是你应该在字典中存储文件对象而不是文件名,并且你不需要 else block (它应该与if 而不是 for):

files_dict = {}

with open(data_in) as fi:
for line in fi:
x = line.split(',')[1]
if x not in files_dict:
files_dict[x] = open(x + '.csv', 'w')
files_dict[x].write(line)

for file in files_dict.values():
file.close()

关于python - 将数据分割成多个文件 : how to handle (unknown number of) multiple connections,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54206862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com