2016-08-09 101 views
0

Ich scrape eine Website mit Python 3.5 (BeautifulSoup) und das Ergebnis ist eine Liste. Die Werte werden in einer Variablen namens "project_titles" gespeichert.Python 3.5 | Liste teilen und nach Excel oder CSV exportieren

Die Werte wie folgt aussehen:

project_titles = ['I'm Back. Raspberry Pi unique Case for your Analog Cameras', 'CitizenSpring - App to crowdsource & map safe drinking water', 'Shoka Bell: The Ultimate City Cycling Tool'] 

ich die Werte auf dem Komma und exportieren diese in eine Excel-Datei oder CSV geteilt werden soll.

Ich brauche die Werte in einer Excel wie:

  • Zelle A1: Ich bin zurück. Raspberry Pi einzigartiger Fall für Ihre Analogkamera
  • Zelle B1: CitizenSpring - App & Karte sauberes Trinkwasser
  • Zelle C1 bis crowdsource: Shoka Klingel: The Ultimate Radfahren Stadt Werkzeug

Antwort

2

Da Sie bereits eine Liste haben von Strings zu den Spalten erforderlich in Ihrem CSV-konforme Sie die Liste aus mit der csv Modul einfach Datei schreiben können:

import csv 

project_titles = ["I'm Back. Raspberry Pi unique Case for your Analog Cameras", 'CitizenSpring - App to crowdsource & map safe drinking water', 'Shoka Bell: The Ultimate City Cycling Tool'] 

with open('projects.csv', 'w') as f: 
    csv.writer(f).writerow(project_titles) 

die Ausgabe CSV-Datei diesen Code nach dem Ausführen würde enthalten:

 
I'm Back. Raspberry Pi unique Case for your Analog Cameras,CitizenSpring - App to crowdsource & map safe drinking water,Shoka Bell: The Ultimate City Cycling Tool 

die Sie in Excel importieren können.

+0

hallo ... es funktioniert !!! Kannst du den Code ändern, dass die Werte in die Spalten eingefügt werden? Wie A1, A2, A3 und so weiter. Entschuldigung dafür –

+0

Wenn Sie die CSV-Datei importieren, werden die Werte automatisch in die Zellen A1, B1, C1 usw. übernommen. Wenn Sie der Datei gezielt Header hinzufügen möchten, schreiben Sie sie einfach als erste Zeile mit 'writerow ([' A1 ',' B1 ',' C1 ']) ". – mhawke

1

Da project_titles ist bereits eine Liste mit den Strings enthält, die Sie wollen, dann ist es einfach zu bedienen pandas (kann zusammen mit einem der wissenschaftlichen Python-Distributionen installiert werden, siehe scipy.org) mit dem folgenden kurzen Code:

import pandas as pd 

project_titles = ["I'm Back. Raspberry Pi unique Case for your Analog Cameras", 
       'CitizenSpring - App to crowdsource & map safe drinking water', 
       'Shoka Bell: The Ultimate City Cycling Tool'] 


d = pd.DataFrame(project_titles) 
writer = pd.ExcelWriter('data.xlsx') 
d.to_excel(writer, 'my_data', index=False, header=False) 
writer.save() 
0

Sie können einen sehr einfachen Code versuchen

project_titles = ["I'm Back. Raspberry Pi unique Case for your Analog Cameras", 'CitizenSpring - App to crowdsource & map safe drinking water', 'Shoka Bell: The Ultimate City Cycling Tool'] 

with open('data.csv',"w") as fo: 
    fo.writelines(",".join(project_titles))