python3 寫csv文件,xlsx導圖片到表格

import csv
with open("XXX.csv","a",newline="",encoding='utf-8') as datacsv: # a 是後續可以加入內容,w 參數則是覆蓋
     #dialect爲打開csv文件的方式,默認是excel,delimiter="\t"參數指寫入的時候的分隔符
     csvwriter = csv.writer(datacsv,dialect = ("excel"))
     #csv文件插入一行數據,把下面列表中的每一項放入一個單元格(可以用循環插入多行)
     csvwriter.writerow(["A","B","C","D"])

#小插曲
#讀取指定目錄下的菜單[文件和文件夾]
import os
alist = os.listdir('./')  #當前目錄的文件夾和文件,返回值是列表
#get it!

利用 xlsxwriter,導出帶圖片的表格

def write(big_data,my_type):
    workbook = xlsxwriter.Workbook("watch_band_%s.xlsx"%my_type)
    for key in big_data:
        # 從第二行開始,首行留給中文註釋
        index = 2
        data = big_data[key]
        worksheet = workbook.add_worksheet(str(key))
        # 參數理解: A1,A爲列的序列號,1則是行數
        worksheet.write("A1", '排名')
        worksheet.write("B1", 'ASIN')
        worksheet.write("C1", '圖片')
        worksheet.write("D1", '價格')
        worksheet.write("E1", '評分')
        worksheet.write("F1", '類別')
        worksheet.write("G1", '鏈接')
        worksheet.write("H1", '圖片鏈接')
        worksheet.write("I1", '時間')
        print(index)
        for msg in data:
            print(msg)
            # 加寬第一列使文本更清晰。
            worksheet.set_column('A:A', 30)

            print('A' + str(index), '%s' % msg[-4])
            worksheet.write('A' + str(index), '%s' % msg[-4])
            worksheet.write("B" + str(index), "%s" % msg[2])
            # 插入一張圖片。
            filename='./band_img/%s.jpg' % msg[2]
            try:
            	# 自定義方法
                modify_img_site(filename)
                worksheet.insert_image('C' + str(index),filename, {'x_scale': 0.5, 'y_scale': 0.5})
            except:
                worksheet.write('C' + str(index), 'none')

            worksheet.write('D' + str(index), '%s' % msg[3])
            worksheet.write('E' + str(index), '%s' % msg[4])
            worksheet.write('F' + str(index), '%s' % msg[1])
            worksheet.write('G' + str(index), 'https://www.amazon.com/dp/%s' % msg[2])
            worksheet.write('H' + str(index), '%s' % msg[-1])
            # worksheet.write('I' + str(index), '%s' % msg[-1])
            # 插入一張位偏移圖片。
            # worksheet.insert_image('B12', 'python.png', {'x_offset': 15, 'y_offset': 10})

            # 插入一張縮放了的圖片。
            # worksheet.write('23', '插入一張縮放了的圖片:')
            # worksheet.insert_image('B23', 'python.png', {'x_scale': 0.5, 'y_scale': 0.5})
            index += 1

    workbook.close()

#讀取xls,xlsx文件?

import xlrd
ef xlrd_reader():
    exce = xlrd.open_workbook('/home/yice/Documents/本尼維產品資料.xls')

    # 獲取excel中對應的sheet
    print('所有sheet名稱', exce.sheet_names())  # 獲取所有sheet名稱
    sheets = exce.sheets()  # 獲取所有sheets
    # sheet = exce.sheets()[0]    #也可以通過下標去訪問某個具體的sheet
    sheet1 = exce.sheet_by_name('Sheet1')  # 通過sheet名稱獲取
    # sheet2 = exce.sheet_by_index(1) #通過下標獲取某個sheet

    # 獲取sheet中行數和列數
    nrows = sheet1.nrows
    ncols = sheet1.ncols
    print('對應sheet中行數:%d行,列數:%d列' % (nrows, ncols))

    data=[]
    for msg in range(nrows):
        data.append(sheet1.row_values(msg))
        # print(sheet1.row_values(msg))
    # 獲取sheet中整行或整列的數據(數組)
    # row1 = sheet1.row_values(3)  # 通過下標獲取某一行的數據
    # col1 = sheet1.col_values(0)  # 通過下標獲取某一列的數據
    # print('某行的數據:', row1)
    # print('某列的數據:', col1)
    #
    # # 獲取sheet中某個單元格的數據
    # cell_A3 = sheet1.cell(2, 0).value  # 第三行第一列
    # cell_B2 = sheet1.cell(1, 1).value  # 第二行第二列
    # cell_C3 = sheet1.cell(2, 2).value  # 第三行第三列
    # print('第一列第三行:', cell_A3)
    # print('第二行第二列:', cell_B2)
    # print('第三行第三列:', cell_C3)
    #
    # # 獲取單元格數據類型
    # A3_ctype = sheet1.cell(2, 0).ctype  # 數字類型
    # B2_ctype = sheet1.cell(1, 1).ctype  # str類型
    # C3_ctype = sheet1.cell(2, 2).ctype  # data類型
    # print('數字類型:', A3_ctype)
    # print('str類型:', B2_ctype)
    # print('data類型:', C3_ctype)
    return data
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章