在python中使用文本文件(路径特定)中的特定单词(RegEx)追加CSV #编码=utf-8 #Python的libreriaregex。 进口稀土 #拉塔斯图书馆。 导入操作系统 导入csv #功能扫描文件夹日志 def scan_文件夹(): #目
在python中使用文本文件(路径特定)中的特定单词(RegEx)追加CSV在python中使用文本文件(路径特定)中的特定单词(RegEx)追加CSV #编码=utf-8 #Python的libreriaregex。 进口稀土 #拉塔斯图书馆。 导入操作系统 导入csv #功能扫描文件夹日志 def scan_文件夹(): #目,python,regex,csv,path,Python,Regex,Csv,Path,在python中使用文本文件(路径特定)中的特定单词(RegEx)追加CSV #编码=utf-8 #Python的libreriaregex。 进口稀土 #拉塔斯图书馆。 导入操作系统 导入csv #功能扫描文件夹日志 def scan_文件夹(): #目录“路径” 路径='/Users/../diarioficial' #菲希罗斯大道酒店 计数=0 #变量声明 公司名称=“” 公司资本=“” #将csv创建为csvFile 将open('aaa.csv','a')作为csvFile: #迭代文
#编码=utf-8
#Python的libreriaregex。
进口稀土
#拉塔斯图书馆。
导入操作系统
导入csv
#功能扫描文件夹日志
def scan_文件夹():
#目录“路径”
路径='/Users/../diarioficial'
#菲希罗斯大道酒店
计数=0
#变量声明
公司名称=“”
公司资本=“”
#将csv创建为csvFile
将open('aaa.csv','a')作为csvFile:
#迭代文件夹diarioficial中没有名称的所有路径
对于os.walk(路径)中的(路径、目录名、文件名):
#迭代路径中的所有文件(+文件名)
对于文件名中的文件名:
#添加所需的扩展名
如果文件_name.endswith(“.txt”):
#日志文件夹中的汇总计数文件
计数=计数+1
#连接路径+文件名
file\u path=os.path.join(路径,文件名)
#打印(文件路径)
#打开并读取文件路径
mensaje=打开(文件路径).read()
#替换空间的换行符
mensaje=mensaje.replace(“\n”,”)
#公司名称
关键词_cap=['SpA'、'SpA'、'LIMITADA'、'LTDA'、'S.A.、'E.I.R.L.]
关键词\u cap=map(关于逃逸,关键词\u cap)
关键词_cap.sort(key=len,reverse=True)
obj=re.compile(r'[:,;.]\s*”?([^:,;.]*?(?将代码从csvData=[公司名称,公司资本]
推送到writer.writerow(csvData)
在with
语句内部缩进非常重要,此时写入的代码在with
语句外部,因此文件会自动关闭。请尝试将这五行缩进到与print()
语句相同的数量。
# coding=utf-8
# Libreria RegEx de Python.
import re
# Libreria para rutas.
import os
import csv
# function scan folder DiarioOficial
def scan_folder():
# directory 'path'
path = '/Users/.../DiarioOficial'
# contador de ficheros del path
count = 0
# variables declaration
company_name = ''
company_capital = ''
# creation csv as csvFile
with open('aaa.csv', 'a') as csvFile:
# iterate all paths in the folder DiarioOficial without name
for (path, dirnames, file_names) in os.walk(path):
# iterate over all the files in the path (+ file_name)
for file_name in file_names:
# Add extension that is required
if file_name.endswith(".txt"):
# summatory count files in DiarioOficial folder
count = count + 1
# concatenation path + file name
file_path=os.path.join(path, file_name)
#print(file_path)
# open and read the file path
mensaje = open(file_path).read()
# Replace a newline for a space
mensaje = mensaje.replace("\n","")
# Company Name
keywords_cap = ['SpA', 'SPA', 'LIMITADA', 'LTDA', 'S.A.', 'E.I.R.L.']
keywords_cap = map(re.escape, keywords_cap)
keywords_cap.sort(key=len, reverse=True)
obj = re.compile(r'[:,;.]\s*"?([^:,;.]*?(?<!\w)(?:{}))'.format('|'.join(keywords_cap)))
if obj:
company_name = obj.search(mensaje)
else:
company_name = "None"
# Social Capital ($)
cap = r"\s*(CAPITAL:\s+([^-]*)|Capital social:\s+([^-]*)|Capital:\s+([^-]*))"
caps = re.search(cap, mensaje)
if caps:
company_capital = caps.group()
else:
company_capital = 'None'
print (count)
csvData = [company_name, company_capital]
writer = csv.writer(csvFile, delimiter='-')
headers = ['COMPANY NAME', 'COMPANY CAPITAL']
writer.writerow(headers) # print the header row
writer.writerow(csvData) # print the Data in csv
scan_folder()