python實現excel內容逐行寫入txt

2021-08-28 13:58:20 字數 1696 閱讀 3872

最近在做文字分類,拿到的資料很亂。要做下一步,不管是分詞還是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...