Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #42257 > unrolled thread

Export data from python to a txt file

Started byAna Dionísio <anadionisio257@gmail.com>
First post2013-03-29 10:33 -0700
Last post2013-03-29 19:11 +0100
Articles 6 — 6 participants

Back to article view | Back to comp.lang.python


Contents

  Export data from python to a txt file Ana Dionísio <anadionisio257@gmail.com> - 2013-03-29 10:33 -0700
    Re: Export data from python to a txt file Jason Swails <jason.swails@gmail.com> - 2013-03-29 13:52 -0400
    Re: Export data from python to a txt file rusi <rustompmody@gmail.com> - 2013-03-29 10:55 -0700
    Re: Export data from python to a txt file Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-03-29 17:58 +0000
    Re: Export data from python to a txt file Vincent Vande Vyvre <vincent.vandevyvre@swing.be> - 2013-03-29 19:00 +0100
    Re: Export data from python to a txt file Peter Otten <__peter__@web.de> - 2013-03-29 19:11 +0100

#42257 — Export data from python to a txt file

FromAna Dionísio <anadionisio257@gmail.com>
Date2013-03-29 10:33 -0700
SubjectExport data from python to a txt file
Message-ID<eb74d8be-d3e6-4f65-8a5b-f6a87c1a6af8@googlegroups.com>
Hello!!!

I have this lists a=[1,3,5,6,10], b=[a,t,q,r,s] and I need to export it to a txt file and I can't use csv.

And I want the next format:

a 1 3 5 6 10
b a t q r s

I already have this code:

"f = open("test.txt", 'w')
 f.write("a")
 f.write("\n")
 f.write("b")
 f.write("\n")

 for i in xrange(len(a)):
    LDFile.write("\t")
    LDFile.write(str(a[i]))
    LDFile.write("\t")
    LDFile.write(str(b[i]))

 f.close()"

But it doesn't have the format I want. Can you help?

Thanks!

 

[toc] | [next] | [standalone]


#42259

FromJason Swails <jason.swails@gmail.com>
Date2013-03-29 13:52 -0400
Message-ID<mailman.3955.1364579536.2939.python-list@python.org>
In reply to#42257

[Multipart message — attachments visible in raw view] — view raw

On Fri, Mar 29, 2013 at 1:33 PM, Ana Dionísio <anadionisio257@gmail.com>wrote:

> Hello!!!
>
> I have this lists a=[1,3,5,6,10], b=[a,t,q,r,s] and I need to export it to
> a txt file and I can't use csv.
>

It would help if you showed exactly what you had in your program or in the
Python interpreter.  For instance

a = [1, 3, 5, 6, 10]
b = [a, t, q, r, s]

won't work, since it interprets the letters in the b-list as variables
rather than strings.  It would need to be

b = ['a', 't', 'q', 'r', 's']

or something equivalent.  Assuming you had that part correct:


> And I want the next format:
>
> a 1 3 5 6 10
> b a t q r s
>
> I already have this code:
>
> "f = open("test.txt", 'w')
>  f.write("a")
>  f.write("\n")
>  f.write("b")
>  f.write("\n")
>
>  for i in xrange(len(a)):
>     LDFile.write("\t")
>     LDFile.write(str(a[i]))
>     LDFile.write("\t")
>     LDFile.write(str(b[i]))
>
>  f.close()"
>
> But it doesn't have the format I want. Can you help?
>

Walk through exactly what the computer is doing here.  First it prints a,
then a newline, then b, then a newline:

--begin--
a
b
--end--

Then your for loop executes (notice LDFile and f are different file
objects, so they won't write to the same location).  This will print a tab,
followed by the i'th element of a, followed by another tab, followed by the
i'th element of b.  So this:

a 1 3 5 6 10
b a t q r s

--begin-- [tab]  1 [tab]  a [tab]   3 [tab]   t [tab]   5 [tab]   q [tab]
6 [tab]   r [tab]   10 [tab]   s [tab]--end--

So the final file will look something like this:

a
b
     1     a     3     t     5     q     6     r     10     s


which is obviously not what you want.  The following code will do what you
want (although there are ways of doing this in less code, this is the most
straightforward):

f.write('a\t')
for element in a:
   f.write(str(element) + '\t')
f.write('\n')
f.write('b\t')
for element in b:
   f.write(str(element) + '\t')
f.write('\n')

HTH,
Jason

[toc] | [prev] | [next] | [standalone]


#42260

Fromrusi <rustompmody@gmail.com>
Date2013-03-29 10:55 -0700
Message-ID<96cd4596-7aaf-45d3-81e9-27b378980200@w2g2000pbw.googlegroups.com>
In reply to#42257
On Mar 29, 10:33 pm, Ana Dionísio <anadionisio...@gmail.com> wrote:
> Hello!!!
>
> I have this lists a=[1,3,5,6,10], b=[a,t,q,r,s] and I need to export it to a txt file and I can't use csv.
>
> And I want the next format:
>
> a 1 3 5 6 10
> b a t q r s
>
> I already have this code:
>
> "f = open("test.txt", 'w')
>  f.write("a")
>  f.write("\n")
>  f.write("b")
>  f.write("\n")
>
>  for i in xrange(len(a)):
>     LDFile.write("\t")
>     LDFile.write(str(a[i]))
>     LDFile.write("\t")
>     LDFile.write(str(b[i]))
>
>  f.close()"
>
> But it doesn't have the format I want. Can you help?
>
> Thanks!

Dunno about LDFile. [Neither does google]

You can try:
>>> a=[1,3,7,10,100]
>>> "a " + " ".join(map(str,a))
'a 1 3 7 10 100'

[toc] | [prev] | [next] | [standalone]


#42261

FromMark Lawrence <breamoreboy@yahoo.co.uk>
Date2013-03-29 17:58 +0000
Message-ID<mailman.3956.1364579857.2939.python-list@python.org>
In reply to#42257
On 29/03/2013 17:33, Ana Dionísio wrote:
> Hello!!!
>
> I have this lists a=[1,3,5,6,10], b=[a,t,q,r,s] and I need to export it to a txt file and I can't use csv.
>
> And I want the next format:
>
> a 1 3 5 6 10
> b a t q r s
>
> I already have this code:
>
> "f = open("test.txt", 'w')
>   f.write("a")

You'll have to write your data here.

>   f.write("\n")

And here.

>   f.write("b")
>   f.write("\n")
>
>   for i in xrange(len(a)):
>      LDFile.write("\t")
>      LDFile.write(str(a[i]))
>      LDFile.write("\t")
>      LDFile.write(str(b[i]))

You rarely need a loop like this in Python.
for x in a:
   doSomething
is the usual way of writing this.  But you don't need this anyway.  Just 
use the string join method as you can't use csv, which tells me it's 
homework, so I'll leave you to it :)

>
>   f.close()"
>
> But it doesn't have the format I want. Can you help?
>
> Thanks!
>

-- 
If you're using GoogleCrap™ please read this 
http://wiki.python.org/moin/GoogleGroupsPython.

Mark Lawrence

[toc] | [prev] | [next] | [standalone]


#42263

FromVincent Vande Vyvre <vincent.vandevyvre@swing.be>
Date2013-03-29 19:00 +0100
Message-ID<mailman.3958.1364580518.2939.python-list@python.org>
In reply to#42257
Le 29/03/13 18:33, Ana Dionísio a écrit :
> Hello!!!
>
> I have this lists a=[1,3,5,6,10], b=[a,t,q,r,s] and I need to export it to a txt file and I can't use csv.
>
> And I want the next format:
>
> a 1 3 5 6 10
> b a t q r s
>
> I already have this code:
>
> "f = open("test.txt", 'w')
>  f.write("a")
>  f.write("\n")
>  f.write("b")
>  f.write("\n")
>
>  for i in xrange(len(a)):
>     LDFile.write("\t")
>     LDFile.write(str(a[i]))
>     LDFile.write("\t")
>     LDFile.write(str(b[i]))
>
>  f.close()"
>
> But it doesn't have the format I want. Can you help?
>
> Thanks!
>
>  
Something like that:

Python 2.6.5 (r265:79063, Oct  1 2012, 22:07:21)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a=[1,3,5,6,10]
>>> b=['a', 't', 'q', 'r', 's']
>>> sta = " ".join([str(i) for i in a])
>>> stb = " ".join(b)
>>> txt = "a " + sta + '\nb ' + stb
>>> f = open('test.txt', 'w')
>>> f.write(txt)
>>> f.close()
>>> f = open('test.txt', 'r')
>>> for line in f:
...     print line
...
a 1 3 5 6 10

b a t q r s
>>>



-- 
Vincent V.V.
Oqapy <https://launchpad.net/oqapy> . Qarte
<https://launchpad.net/qarte> . PaQager <https://launchpad.net/paqager>

[toc] | [prev] | [next] | [standalone]


#42264

FromPeter Otten <__peter__@web.de>
Date2013-03-29 19:11 +0100
Message-ID<mailman.3959.1364580641.2939.python-list@python.org>
In reply to#42257
Ana Dionísio wrote:

> I have this lists a=[1,3,5,6,10], b=[a,t,q,r,s] and I need to export it to
> a txt file and I can't use csv.

What do you mean by "can't use csv"?

- You cannot get it to work with the csv module
- You are not allowed to use csv by your instructor
- Something else.

> And I want the next format:
> 
> a 1 3 5 6 10
> b a t q r s
> 
> I already have this code:
> 
> "f = open("test.txt", 'w')
>  f.write("a")
>  f.write("\n")
>  f.write("b")
>  f.write("\n")
> 
>  for i in xrange(len(a)):
>     LDFile.write("\t")
>     LDFile.write(str(a[i]))
>     LDFile.write("\t")
>     LDFile.write(str(b[i]))
> 
>  f.close()"
> 
> But it doesn't have the format I want. Can you help?
> 
> Thanks!

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web