2014-04-21 2 views
1

Je lis un fichier csv et écrit les résultats dans un fichier journal, "p.log". Bien que je convertisse les données en une chaîne avant de l'écrire dans le fichier, et que je réussisse à traverser plusieurs itérations, je continue de rencontrer une erreur: AttributeError: l'objet 'int' n'a pas d'attribut 'write' .AttributeError: l'objet 'int' n'a pas d'attribut 'write'

Je fournirai un extrait de mon code, ainsi que le résultat imprimé à mon écran:

p=open("p.log","w") 

for line in f:#parse lines following the headerline 
    line = line.split(",") 
    print line, type(str(line)) 
    p.write('string: '+str(line)+'\n') 

['14-04-21 08:30:00.973000', 'EEM06211440.5P', 'EEM', '2014-06-21', '40.50', 'P', '16084', 'AUTO', 'PHLX', '0.82', '10', '0.82', '31', '0.88', '31', '0.06', '0.00', '0.06', 'Y', 'AN', '2', 'AN', '2', 'Bid', '31', '0.0000', '2', 'AN\r\n'] <type 'str'> 
['14-04-21 08:30:00.974000', 'MU06211425C', 'MU', '2014-06-21', '25.00', 'C', '0', 'AUTO', 'PSE', '1.57', '11', '1.56', '11', '1.67', '30', '0.11', '0.01', '0.10', 'Y', 'Z', '1', 'IXH', '3', 'Mid', '0', '0', '0', '\r\n'] <type 'str'> 
['14-04-21 08:30:00.975000', 'QQQ04251481C', 'QQQ', '2014-04-25', '81.00', 'C', '1585', 'AUTO', 'AMEX', '5.70', '1', '5.20', '82', '5.70', '67', '0.50', '0.50', '0.00', 'Y', 'AINX', '4', 'AINX', '4', 'Ask', '67', '-22.3881', '4', 'AINX\r\n'] <type 'str'> 
['14-04-21 08:30:00.976000', 'MPEL05171435.66C', 'MPEL', '2014-05-17', '35.66', 'C', '409', 'AUTO', 'ISE', '2.20', '20', '2.20', '384', '3.10', '20', '0.90', '0.00', '0.90', 'N', 'AI', '2', 'I', '1', 'Bid', '384', '94.7917', '2', 'AI\r\n'] <type 'str'> 
['14-04-21 08:30:00.978000', 'AAPL7071914500C', 'AAPL', '2014-07-19', '500.00', 'C', '670', 'AUTO', 'AMEX', '34.85', '3', '34.15', '1', '35.05', '12', '0.90', '0.70', '0.20', 'Y', 'A', '1', 'A', '1', 'Mid', '0', '0', '0', '\r\n'] <type 'str'> 
Traceback (most recent call last): 
    File "q1.py", line 83, in <module> 
    p.write('string: '+str(line)+'\n') 
AttributeError: 'int' object has no attribute 'write' 

Comme vous pouvez le voir, il y a plusieurs lignes imprimées sans faute, jusqu'à ce que la ligne avec « AAPL » en elle . Je ne sais pas pourquoi il y a une erreur sur cette ligne et pas d'autres.

+0

Montrez-nous le code où vous déclarez le fichier gérer 'p' – shaktimaan

+0

p = ouvrir (" p.log "," w ") – teachamantofish

Répondre

3

Quelque part dans le code que vous n'avez pas envoyé est une ligne qui écrase votre variable p avec un entier.

+0

merci, j'ai trouvé j'ai oublié il y avait une autre variable nommée p enterrée dans mon code – teachamantofish

+0

True ,........ :RÉ –

Questions connexes