python實現對數據的寫入和讀取(excel)

這裏,我用到的是xlwt和xlrd這兩個庫分別進行寫入和讀取spa

首先,安裝庫code

pip install xlwtorm

pip install xlrdip

------------------------------具體以下utf-8

import xlwtci

#file以utf-8格式打開it

file = xlwt.Workbook(encoding='utf-8')pip

#建立一個名爲data的表單io

table = file.add_sheet('data',cell_overwrite_ok=True)table

#表頭信息

table_head = ['name', 'case_number', 'message','related_crs','case_owner','case_comments']

#將表頭信息寫入到表格的第一行

for i in range(len(table_head)):
        table.write(0, i, table_head[i])

# produce_info_list2 是一個二維列表[['x':'1223','xx':2223,'xxxx':'333333']]

for row in range(len(produce_info_list2)):
        for col in range(0, len(produce_info_list2[row])):
            table.write(row + 1, col, produce_info_list2[row][col])
    file.save(‘data.xls’)

 

import xlrd

data = xlrd.open_workbook('data.xls')    #打開ecxel表

table = data.sheets()[0]       #切換到對應的sheet
nrows = table.nrows             #獲取表格行數
with open("a.txt", "w") as f:
for i in range(1, nrows):
     rows_values = table.row_values(i)  #獲得每一行的數據
     for j in rows_values:   #將每一行的數據寫到txt文件中
          f.write("{}\n".format(j))

注意:

  在讀取數據的時候可能會報「'ascii' codec can't encode character u'\u201c' in position 124: ordinal not in range(128)」相似的錯誤

解決辦法:在讀取的文件開頭加上以下代碼

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

相關文章
相關標籤/搜索