最近在做文字分類,拿到的資料很亂。要做下一步,不管是分詞還是tfidf都要先做資料的分類。
3萬篇文章,在乙個excel中,每行有每篇文章的id、內容(title_content)、分類(relative breeds),(共三列)。
按分類建立子目錄,文章按分類放入子目錄中,每篇文章寫入乙個txt檔案,txt檔案標題為文章id
excel的讀入使用了pandas,pandas的逐行讀取功能很好用。
網上有些教程使用了xlrd,感覺有點複雜,而且xlrd好像有檔案大小的限制。相比較而言pandas沒有大小限制,個人感覺速度也比較快。
路徑的操作使用了python標準庫os。
同樣的方法,也可以讀取txt寫入excel,讀取csv寫入excel。只需要更改pandas的讀取檔案函式就好了。
pandas真好用啊
"""
@version:python3.6
@author:chenyaooo
@concact:[email protected]
"""import pandas as pd
import os
def creatcatesdir(data, target):
"""建立類別目錄
""" # 獲取去重後的分類列表
cates = list(data['relative breeds'].unique())
print(cates)
for cate in cates:
# 拼接子目錄路徑
final_path = target + cate
try:
os.mkdir(final_path) # 建立目錄
except exception as e:
print(str(e))
def excel2txt(data, target):
# 建立類別目錄
creatcatesdir(data, target)
# 逐條獲取excel中的內容
for index, row in data.iterrows():
# 文章內容
content = row['title_content']
# 檔名 -> 文章id
filename = row['id']
# 子目錄 -> 類別
cate = row['relative breeds']
# 拼接檔案路徑
txt_path = target + cate + os.sep
# 將文章內容寫入txt
with open(txt_path + str(filename) + ".txt", 'wt') as f:
f.write(content)
def main():
# 使用pandas讀取excel
data = pd.read_excel('../data/processed/article_breeds20k_tc.xls')
# 主目錄 需要提前建立好
targetfile = "../article/"
excel2txt(data, targetfile)
if __name__ == '__main__':
main()
以上所有的編碼都使用的python預設編碼utf-8
python 中文文字分類
Python讀取Excel內容
xlsxwrite openpyxl xlrd xlwt microsoft excel,其差異大致如下 此次專案有個需求是前端頁面上傳乙份excel檔案,後端這邊將其內容讀取到,並存入資料庫中 大概有兩個點,接收上傳的檔案,讀取excel內容,存入資料庫中 2.1flask有個處理接收到的檔案的方...
python讀取excel的內容
這次看到別人用別的語言抓取excel中的內容,自己也試了一下,昨晚確實遇到了不少問題,首先就是很糟糕,讓人很奔潰的編碼問題,這也是python中的乙個難點吧,目前有很多的編碼方式,gbk,utf 8,gb2322,在python中提到unicode,一般指的是unicode物件,例如 哈哈 的uni...
python操作excel獲取內容
背景 從excel表中獲取請求url 請求資料 請求型別 預期結果 因此,需要學會如何使用python從excel獲取這些資訊 coding utf 8 import xlrd 建立物件時,獲取對應excel 讀取excel行數 獲取單元格內容 class operationexcel def in...