Python: Bagaimana cara membaca beberapa spreadsheet ke dalam format baru di CSV?

Saya (pendatang baru) mencoba membaca beberapa tabel dari dokumen excel dan membaca dalam format baru dalam satu csv. Di csv, saya memerlukan bidang berikut: tahun (dari variabel global), bulan (dari variabel global), outlet (nama lembar tabel); nilai baris [a] (string untuk menjelaskan baris), nilai kolom [1] (string untuk menjelaskan kolom), nilai sel (float)

Nilai yang sesuai kemudian harus dimasukkan ke dalamnya.

Dari tabel masing-masing, hanya RowNum 6 sampai 89 yang perlu dibaca

#BWA-Reader
#read the excel spreadsheet with all sheets
#Python 3.6

Importe
import openpyxl
import xlrd
from PIL import Image as PILImage
import csv

# year value of the Business analysis
year = "2018"

# month value of the Business analysis
month = "11"

# .xlxs path
wb = openpyxl.load_workbook("BWA Zusammenfassung 18-11.xlsx")
print("Found your Spreadsheet")
# List of sheets
sheets = wb.get_sheet_names()

# remove unneccessary sheets
list_to_remove = ("P",'APn','AP')
sheets_clean = list(set(sheets).difference(set(list_to_remove)))
print("sheets to load: " + str(sheets_clean))

# for loop for every sheet based on sheets_clean
for sheet in sheets_clean:

# for loop to build list for row and cell value
    all_rows = []
    for row in wb[sheet].rows:
        current_row = []
        for cell in row:
            current_row.append (cell.value)
        all_rows.append(current_row)
        print(all_rows)
# i´m stucked -.-´

Saya mengharapkan keluaran seperti:

2018;11;Oldenburg;total_sales;monthly;145840.00

semua sheet dalam satu csv

Terima kasih banyak atas setiap ide bagaimana menyelesaikan proyek saya!


person Dominik Keller    schedule 02.01.2019    source sumber
comment
Output apa yang dihasilkannya saat ini?   -  person jorijnsmit    schedule 03.01.2019
comment
Hei, saya mendapatkan daftar setiap baris dari setiap tabel. di sinilah saya terjebak. saya tidak menemukan jawaban yang tepat untuk mengubah nilai dari seratus daftar ke dalam format csv yang saya perlukan: [142, 'Fremdmieten', 165, None, 0.1, 0, 0, 0, None, 0, 1448.7, None, 0.07 , 0,03388769028363356, 0, 0, 0, Tidak Ada, 0, Tidak Ada, 165, Tidak Ada, 0,01]   -  person Dominik Keller    schedule 03.01.2019
comment
Nilai-nilai tersebut mewakili: id,nama_id,nilai_bulanan,kosong,nilai_persen_bulanan,anggaran_bulanan,anggaran_bulanan_persentase,kosong,nilai_akumulasi,kosong,nilai_akumulasi_persentasi,nilai_nilai_akumulasi,nilai_anggaran_akumulasi,anggaran_akumulasi_persentasi,nilai_akumulasi_tahun terakhir,kosong,nilai_akumulasi_persen_tahun terakhir,nilai_total_tahun terakhir,kosong,persen_nilai_akhir nilai_total_tahun   -  person Dominik Keller    schedule 03.01.2019
comment
Gunakan modul csv dan tulis baris saat Anda membaca baris dari file Excel.   -  person Charlie Clark    schedule 03.01.2019
comment
hai Charlie, mungkin aku bertingkah sangat bodoh, tapi bisakah kamu memberiku petunjuk tentang kodenya? Ini akan menyelesaikan salah satu masalah saya dalam perjalanan menuju solusi   -  person Dominik Keller    schedule 03.01.2019


Jawaban (1)


Jawaban lengkap atas pertanyaan ini sangat bergantung pada dataset sebenarnya.

Saya sarankan untuk melihat fungsi read_excel() panda. Ini akan mempermudah mengekstrak baris/kolom/sel yang diperlukan, semuanya tanpa mengulang seluruh lembar.

Anda mungkin memerlukan beberapa tutorial tentang panda untuk mencapainya, namun dilihat dari apa yang Anda coba lakukan, panda mungkin merupakan keterampilan yang berguna untuk dimiliki di masa depan!

person jorijnsmit    schedule 04.01.2019