Excel
打开csv,去重,保存到excel
df = pd.read_csv("newhouse.csv",names=['name','xzqy','wylx',······,'state'])
df = df.drop_duplicates()
df.to_excel("newhouse.xlsx",index=False)
找到文件夹下所有csv文件,遍历读取并concat合并
from pathlib import Path
files = Path(r"D:\菜J学Python\数据分析\蛋壳公寓").glob("*.csv")
dfs = [pd.read_csv(f) for f in files]
df = pd.concat(dfs)
df.head()
文件目录
遍历当前目录下所有文件
import os
file_list = os.walk("./")
for dir_path,dirs,files in file_list:
for f in files:
file_path = os.path.join(dir_path,f) #重构文件路径
print(file_path)
判断文件存在
path.exists(outfile)
拼接路径
path.join(outdir, os.path.basename(picfile))
PDF转Text
import pdfplumber
with pdfplumber.open("兴业B信托项目风险管理研究.pdf") as p:
for i in range(75):
page = p.pages[i]
textdata = page.extract_text()
data = open("text.text", "a")
data.write(textdata)
PDF转Word
import pdfplumber
from docx import Document
with pdfplumber.open("研究.pdf") as p:
page = p.pages[2]
textdata = page.extract_text()
document = Document() #新建一个空白的word文档
content = document.add_paragraph(textdata) #在文档中添加正文段落,将变量textdata导进去
document.save("word.docx") #保存文档docx,命名为word
PDF提取表格
import pdfplumber
from openpyxl import Workbook
with pdfplumber.open("兴业B信托项目风险管理研究.pdf") as p:
workbook = Workbook() #新建空白Excel工作簿
sheet = workbook.active #激活sheet
for i in range(68,75): #遍历69页-75页
page = p.pages[i]
table = page.extract_table() #提取表格数据
for row in table: #遍历所有行
sheet.append(row) #按行追加写入数据
workbook.save("Excel.xlsx") #保存文件,命名为Excel
i += 1
print("第%d页PDF提取完成"%i) #提示提取进度
图片
调整原始图片大小
def convertimg(picfile, outdir):
img = Image.open(picfile)
width, height = img.size
while (width * height > 4000000): # 该数值压缩后的图片大约两百多k width = width // 2 # '//'表示整数除法,例5//2=2
height = height // 2
new_img = img.resize((width, height), Image.BILINEAR) #重置图片大小和质量
new_img.save(path.join(outdir, os.path.basename(picfile)))
识别图片文本
- 利用百度AI接口
# 利用百度api识别文本,并保存提取图片中的文字
def baiduOCR(picfile, outfile):
filename = path.basename(picfile) #将图片路径赋值给filename
APP_ID = '你的APP_ID' # 刚才获取的 ID,下同
API_KEY = '你的API_KEY'
SECRECT_KEY = '你的SECRECT_KEY'
client = AipOcr(APP_ID, API_KEY, SECRECT_KEY)
i = open(picfile, 'rb') #以二进制只读方式打开文件
img = i.read() #读取图片
print("正在识别图片:\t" + filename)
message = client.basicGeneral(img) # 通用文字识别,每天50000次免费
#message = client.basicAccurate(img) # 通用文字高精度识别,每天500次免费
i.close() #关闭文件
输出识别结果
# 文本识别结果输出为txt
with open(outfile, 'a+') as fo:
fo.writelines("+" * 60 + '\n') #分隔线,60个+表示
fo.writelines("识别图片:\t" + filename + "\n" * 2) #正在识别的图片名,并空两行
fo.writelines("文本内容:\n")
# 输出文本内容
for text in message.get('words_result'): #words_result识别结果数组,类型为array[]
fo.writelines(text.get('words') + '\n') #words识别结果字符串
fo.writelines('\n' * 2)
print("文本导出成功!")
遍历所有图片
import glob
for picfile in glob.glob("picture/*"): #遍历原始图片存放的文件夹
convertimg(picfile, outdir) #调整原始图片
标签:文件,img,Python,处理,import,path,识别,open,picfile
From: https://www.cnblogs.com/z5onk0/p/16755076.html