Home >  > python常用代码(一)

python常用代码(一)

0

一、文件相关操作
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

不过如果写入的数据超过256行,就会报错:

ValueError: column index (256) not an int in range(256)

所以,后来又有一个新的代码:

import xlsxwriter as xw 
 
def xw_toExcel(data, fileName):  # xlsxwriter库储存数据到excel
    workbook = xw.Workbook(fileName)  # 创建工作簿
    worksheet1 = workbook.add_worksheet("sheet1")  # 创建子表
    worksheet1.activate()  # 激活表
    title = ['序号', '目录名称', 'url']  # 设置表头
    worksheet1.write_row('A1', title)  # 从A1单元格开始写入表头
    i = 2  # 从第二行开始写入数据
    for j in range(len(data)):
        insertData = j+1, data[j][0], data[j][1]
        row = 'A' + str(i)
        worksheet1.write_row(row, insertData)
        i += 1
    workbook.close()  # 关闭表

三、将数据写入数据库

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

十七、判断输入内容的类型

暧昧帖

本文暂无标签

发表评论

*

*