我有一個包含 9000 項的龐大串列。
uj5u.com熱心網友回復:
不需要groupby,一個帶有切片的簡單回圈就足夠了。您需要決定如何處理額外的專案(添加到最后一個串列或添加額外的檔案):
Mylist = [1234,45678,2314,65474,412,87986,21321,4324,68768,1133,712421,12132,898]
N = 3 # use 10 in your real life example
step = len(Mylist)//N
start = 0
for i, stop in enumerate(range(step, len(Mylist) step, step)):
print(f'file{i}')
print(Mylist[start:stop]) # save to file here instead
start = stop
輸出:
file0
[1234, 45678, 2314, 65474]
file1
[412, 87986, 21321, 4324]
file2
[68768, 1133, 712421, 12132]
file3
[898]
添加到最后一個檔案的變體:
Mylist = [1234,45678,2314,65474,412,87986,21321,4324,68768,1133,712421,12132,898]
N = 3
step = len(Mylist)//N
start = 0
for i, stop in enumerate(range(step, len(Mylist), step)):
print(f'file{i}')
if i 1 == N:
stop = len(Mylist)
print(Mylist[start:stop]) # save to file here instead
start = stop
輸出:
file0
[1234, 45678, 2314, 65474]
file1
[412, 87986, 21321, 4324]
file2
[68768, 1133, 712421, 12132, 898]
保存到檔案
Mylist = [1234,45678,2314,65474,412,87986,21321,4324,68768,1133,712421,12132,898]
N = 3
step = len(Mylist)//N
start = 0
for i, stop in enumerate(range(step, len(Mylist), step), start=1):
if i == N:
stop = len(Mylist)
with open(f'file{i}.txt', 'w') as f:
f.write(','.join(map(str,Mylist[start:stop])))
start = stop
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/479544.html
