Python Forum
Split Characters As Lines in File
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Split Characters As Lines in File
#1
Hello,
I have this txt file. (The length is 15000)
1010100101010110000000000001111111111
And according to input, I want to separate my numbers as different lines and each line will have equal size
For instance, suppose that i is the input and i =10
then my text file will become like that:
1010100101
0101011000
0000000000...

The code should be something like that
1
2
3
4
5
6
7
8
9
10
with open("names.txt","r") as f:
    input_list = f.read()   
 
def write_len(input_list):
    final_str = "\n".join([str(len(item)) for item in input_list])
 
    with open("name_length.txt","w") as w:
        w.write(final_str)
 
    return 1
But I couldn't complete it
Can you please help me?
Best
Reply
#2
You could loop over every character in the string, assembling them into strings of the proper length.

Or you could slice it into sections of the proper length.

1
2
k = 10
sections = [input_list[i:i+k] for i in range(0, len(input_list), k)]
Then you can join() the sections or print them or whatever you want with them.
Reply
#3
There is built-in module textwrap:

1
2
3
4
5
6
7
>>> import textwrap
>>> s = '1010100101010110000000000001111111111'
>>> print('\n'.join(textwrap.wrap(s, width=10)))
1010100101
0101100000
0000000111
1111111
I'm not 'in'-sane. Indeed, I am so far 'out' of sane that you appear a tiny blip on the distant coast of sanity. Bucky Katt, Get Fuzzy

Da Bishop: There's a dead bishop on the landing. I don't know who keeps bringing them in here. ....but society is to blame.
Reply
#4
(Dec-28-2020, 04:48 AM)perfringo Wrote: There is built-in module textwrap:

1
2
3
4
5
6
7
>>> import textwrap
>>> s = '1010100101010110000000000001111111111'
>>> print('\n'.join(textwrap.wrap(s, width=10)))
1010100101
0101100000
0000000111
1111111

Many thank to both of you
here is my final code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import itertools
import random
from collections import defaultdict
import pprint
import fileinput
import textwrap
 
with open("line500_.txt","r") as f:
    input_list = f.read()   
  
k = 10
#sections = [input_list[i:i+k] for i in range(0, len(input_list), k)]
#final_str = "\n".join([str(len(item)) for item in input_list])
#final = "\n".join(str(sections))
  
twrap =  '\n'.join(textwrap.wrap(input_list, width=10))
print(twrap)  
 
myfile =  open("name_length.txt","w")
with open("name_length.txt","w") as w:
    w.write(str(twrap))
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  [solved] how to delete the 10 first lines of an ascii file paul18fr 7 1,761 Aug-07-2024, 08:18 PM
Last Post: Gribouillis
  using last 2 characters of a file name to identify it CAD79 5 1,736 Jul-12-2024, 02:09 PM
Last Post: deanhystad
  doing string split with 2 or more split characters Skaperen 22 6,156 Aug-13-2023, 01:57 AM
Last Post: Skaperen
  How to "tee" (=split) output to screen and into file? pstein 6 4,018 Jun-24-2023, 08:00 AM
Last Post: Gribouillis
  Split pdf in pypdf based upon file regex standenman 1 4,134 Feb-03-2023, 12:01 PM
Last Post: SpongeB0B
  counting lines in split data Skaperen 6 2,810 Oct-07-2022, 07:09 PM
Last Post: Skaperen
  Delete multiple lines from txt file Lky 6 3,902 Jul-10-2022, 12:09 PM
Last Post: jefsummers
  failing to print not matched lines from second file tester_V 14 8,936 Apr-05-2022, 11:56 AM
Last Post: codinglearner
  Extracting Specific Lines from text file based on content. jokerfmj 8 5,470 Mar-28-2022, 03:38 PM
Last Post: snippsat
  How to split file by same values from column from imported CSV file? Paqqno 5 5,562 Mar-24-2022, 05:25 PM
Last Post: Paqqno

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020