拆分主文件,其中每个文件最多必须包含3000个字

2024-05-15 19:15:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我的要求是把主文件分成N个文件,每个文件不能超过3000字。在csv中,我有两列,第一列是字符串/句子,第二列是第一列的总字数

    Observation                                   word_count
    Sample text1                                      5
    Sample text2                                      7
    Sample text3                                      3
    Sample text4                                      3
    Sample text5                                      3

我在下面试了一下,但无法理解“----------”行之间的结果是什么。有谁能提出更好的建议吗

count = 0
less = False
i=0
proceed = True
fil_cnt = 1

for j in range(0,len(df)):      
    count += df.word_count[j]
    #print ("Value: %d, Count: %d, and J : %d" %(df.word_count[j],count,j))    

    if count > 3000:
        print("i - " + str(i))
        print("J - " + str(j))            
        print("sum(df.word_count[% 3d:%2d])"%(i, j-1))
        print("Words : " +str(sum(df.word_count[i: j-1])))
        i = j
        count = 0

结果:

i - 0
J - 572
sum(df.word_count[  0:571])
Words : 2984
-----------------
i - 572
J - 1161
sum(df.word_count[ 572:1160])
Words : 3003
-----------------
i - 1161
J - 1733
sum(df.word_count[ 1161:1732])
Words : 3000
i - 1733
J - 2399
sum(df.word_count[ 1733:2398])
Words : 2999
i - 2399
J - 2997
sum(df.word_count[ 2399:2996])
Words : 2997
i - 2997
J - 3685
sum(df.word_count[ 2997:3684])
Words : 2999
i - 3685
J - 4324
sum(df.word_count[ 3685:4323])
Words : 3002
i - 4324
J - 5079
sum(df.word_count[ 4324:5078])
Words : 2999
i - 5079
J - 5749
sum(df.word_count[ 5079:5748])
Words : 2997
i - 5749
J - 6356
sum(df.word_count[ 5749:6355])
Words : 2998
i - 6356
J - 6975
sum(df.word_count[ 6356:6974])
Words : 3000
i - 6975
J - 7667
sum(df.word_count[ 6975:7666])
Words : 3000
i - 7667
J - 8346
sum(df.word_count[ 7667:8345])
Words : 2995
i - 8346
J - 8941
sum(df.word_count[ 8346:8940])
Words : 2999
i - 8941
J - 9467
sum(df.word_count[ 8941:9466])
Words : 2996
i - 9467
J - 9996
sum(df.word_count[ 9467:9995])
Words : 2996
i - 9996
J - 10496
sum(df.word_count[ 9996:10495])
Words : 2998
i - 10496
J - 11061
sum(df.word_count[ 10496:11060])
Words : 2996
i - 11061
J - 11632
sum(df.word_count[ 11061:11631])
Words : 3001
i - 11632
J - 12125
sum(df.word_count[ 11632:12124])
Words : 2997
i - 12125
J - 12706
sum(df.word_count[ 12125:12705])
Words : 2996
i - 12706
J - 13244
sum(df.word_count[ 12706:13243])
Words : 2997

Tags: 文件csvsample字符串dfcount句子word