Python menulis ke CSV baris demi baris
Saya memiliki data yang sedang diakses melalui http request dan dikirim kembali oleh server dalam format comma separated, saya punya kode berikut :
site= 'www.example.com'
hdr = {'User-Agent': 'Mozilla/5.0'}
req = urllib2.Request(site,headers=hdr)
page = urllib2.urlopen(req)
soup = BeautifulSoup(page)
soup = soup.get_text()
text=str(soup)
Isi teks adalah sebagai berikut:
april,2,5,7
may,3,5,8
june,4,7,3
july,5,6,9
Bagaimana saya bisa menyimpan data ke file CSV. Aku tahu aku bisa melakukan sesuatu di sepanjang baris berikut untuk iterate baris demi baris:
import StringIO
s = StringIO.StringIO(text)
for line in s:
Tapi aku'm tidak yakin bagaimana untuk sekarang benar menulis setiap baris ke CSV
EDIT---> Terima kasih untuk umpan balik seperti yang disarankan larutan agak sederhana dan dapat dilihat di bawah ini.
Solusi:
import StringIO
s = StringIO.StringIO(text)
with open('fileName.csv', 'w') as f:
for line in s:
f.write(line)
78
5
Cara umum:
ATAU
Menggunakan CSV penulis :
ATAU
Cara paling sederhana:
Anda hanya bisa menulis ke file seperti yang anda akan menulis file normal.
Jika hanya dalam kasus, ini adalah daftar dari daftar, anda bisa langsung menggunakan built-in
csv
modulSaya hanya akan menulis setiap baris ke file, karena itu's sudah dalam format CSV:
Saya dapat't ingat bagaimana menulis garis dengan garis-istirahat pada saat ini, meskipun :p
Juga, anda mungkin ingin mengambil melihat jawaban tentang
write()
,writelines()
, dan'\n'
.Untuk melengkapi jawaban sebelumnya, aku dikocok sampai cepat kelas untuk menulis ke file CSV. Itu membuat lebih mudah untuk mengelola dan menutup file yang terbuka dan mencapai konsistensi dan kode bersih jika anda harus berurusan dengan beberapa file.
Contoh penggunaan:
Bersenang-senang
Bagaimana dengan ini: