一、文件相关操作
1.打开txt文件
with open("77.txt", "r",encoding='utf-8') as f:
for line in f.readlines():
line = line.replace("\n", "")
备注:
有时碰到有空行的txt文件要用下面的方法
with open("url_list.txt", "r",encoding='utf-8') as f:
for line in f.readlines():
if line == '\n':
pass
else:
ingle_url = line .replace("\n", "")
2、保存文件
def save_file(content,filename):
with open(filename,"a",encoding="utf-8") as f:
f.write(content+'\n')
3.txt文件转list
def text2list(filename):
"""
#将关键词列表文件转成list
"""
result=[]
with open(filename,'r',encoding='UTF-8') as f:
for line in f:
result.append(line.strip('\n'))
return result
二、将列表保存到EXCEL
import xlwt
import xlrd
from xlutils.copy import copy
def write_excel_xls_append(path, value):
# index = len(value) # 获取需要写入数据的行数
workbook = xlrd.open_workbook(path) # 打开工作簿
sheets = workbook.sheet_names() # 获取工作簿中的所有表格
worksheet = workbook.sheet_by_name(sheets[0]) # 获取工作簿中所有表格中的的第一个表格
rows_old = worksheet.nrows # 获取表格中已存在的数据的行数
new_workbook = copy(workbook) # 将xlrd对象拷贝转化为xlwt对象
new_worksheet = new_workbook.get_sheet(0) # 获取转化后工作簿中的第一个表格
for j in range(0, len(value)):
new_worksheet.write(rows_old, j, value[j]) # 追加写入数据
new_workbook.save(path) # 保存工作簿
print("xls格式表格【追加】写入数据成功!")
#用法 write_excel_xls_append('可以注册的域名.xls',domain_result)
参考:
https://blog.csdn.net/u013250071/article/details/81911434
三、将数据写入数据库
import MySQLdb
class KeywordsTool():
"""一个采集chinaz关键词指数的类"""
def __init__(self, url):
# init进行初始化参数,把我们需要从外部传入的参数,作为类的属性
self.url = url
self.conn=MySQLdb.connect(host="localhost",user="root",passwd='',db="testpy" ,port=3306,charset="utf8") #连接数据库
self.cursor=self.conn.cursor() #定位一个指针
def insert_to_db(self,word,total_index,pc_index,m_index):
#将数据插入Mysql数据库
dt=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
#insert ignore into 是避免重复插入
# insert_result = self.cursor.execute("insert ignore into keywords(word,total_index,pc_index,m_index,create_time) VALUES ('%s',%s,%s,%s,str_to_date(\'%s\','%%Y-%%m-%%d %%H:%%i:%%s'))"%(word,total_index,pc_index,m_index,dt))
insert_result = self.cursor.execute('insert ignore into keywords(word,total_index,pc_index,m_index,create_time) VALUES ("%s",%s,%s,%s,str_to_date(\"%s\","%%Y-%%m-%%d %%H:%%i:%%s"))'%(word,total_index,pc_index,m_index,dt))
if insert_result == 0:
print("关键词{}已经存在,略过".format(word))
else:
print('[关键词:',word,'-----------已成功添加到数据库---------------')
# time.sleep(10)
self.conn.commit()
其他:
1.将列表转为字符串,同时保留换行符。
四、显示文件夹下面的所有文件夹,显示文件夹下面的所有文件
#输出某文件夹下面的所有文件名
import os
all_file = os.listdir("D:\\china-sunrider.com.cn\\python_02\\keywords_backup")
print(all_file)
for file in all_file:
file_name = file.split(".")[0]
print(file_name)
with open("k_list.txt","a",encoding="utf-8") as f:
f.write(file_name + '\n')
stock_list = [x[0] for x in os.walk("C:\\Users\\Kevin\\Desktop\\temp")]
for each_dir in stock_list:
print(each_dir)
ticker = each_dir.split("\\")[-1]
print(ticker)
五、设定代码自动执行
首先如果国外服务器,注意时差的问题。、
1.新建一个.sh文件,cd到程序所在文件夹,再python3执行即可。
2.使脚本具有执行权限。
3.crontab -e设定crontab,执行.sh文件文件。
参考这里
十五、将数据添加到df
十六、获取段落长度
def get_content_wordnumber(html):
text= re.sub('[\s+\.\!\/_,$%^*(+\"\'):-;|]+|[+——!,。?、~@#¥%……&*():;“”《》]+','',html)
text2 = re.sub('<[^>]*?>','',text)
words_number = len(text2)
return words_number