Python自动创建csv表格并逐行写入数据、自动并存
网页爬取到的数据,或经过批量转换、清洗后的数据,需要写入并保存为csv格式的文件。如果生成大量的、全部的数据后才一次性写入和保存,程序运行过程一遇到中断或中间报错,已处理过的数据尚未保存到csv文件中,只能从新开始,浪费时间。
采用一开始生成一个空的csv文件,再逐条数据,逐行写入的方式,即使中间报错中断,已处理的数据也已保存下来了,避免重头再次处理数据。
思路:
一开始先创建一个空的csv文件,表头信息同时写入。如果csv文件已存在,覆盖原文件。
import os
import numpy as np
import sys
import csvpath2="D:\PDF报告输出" #定义PDF数据存放的文件夹
tempfilename = "PDF报告"
X = '解析结果'
def create_csv(X,csv_head):path = str(path2+"\\"+tempfilename+"(%s).csv" % (X))#同目录下的新文件名 with open(path,'w',newline = '',encoding='utf-8_sig') as f:csv_write = csv.writer(f) csv_write.writerow(csv_head)#写入表头csv_head = ["企业名称","数据日期","交易日期","数量",'标签名称1','标签1解释','标签名称2','标签2解释','标签名称3','标签3解释']#表头信息
create_csv(X,csv_head)
每解析一个PDF文件,生成一行数据,逐条写入csv文件并自动保存。
import pdfplumbername_list=os.listdir(path1) #用os库获取该文件夹下的PDF文件名称
def write_csv(X,data_row):path = str(path2+"\\"+tempfilename+"(%s).csv" % (X))# with open(path,mode='a',newline = '',encoding='utf-8_sig') as f:csv_write = csv.writer(f) csv_write.writerow(data_row)
N = 1
for name_list in name_list :data_row = []#创建一个空的列表,将处理后的数据放进来,最后保存为csv的一行pdf = pdfplumber.open(path1+"\%s" % (name_list))# 导入pdfpage = pdf.pages[3]# pdf文档第四页,逐页解析的content = page.extract_text()content3 = content.replace('\n','')#第三页剔除掉回车键col1 = re.findall('(?<=目标公司:).*',content) # 目标公司#print(col1)data_row.append(col1[0])#输出查询的公司名称为第1列i = 1 # Excel起始位置(i=1不包括表头字段名) for i in range(1,Num+1):YY2 = ''YY3 = ''if i == 1:#print(table1[i])YY1 = table1[i][0] #第一个标签名称 #print(YY1)data_row.append(table1[i][0])#输出为第2列data_row.append(table1[i][1].replace('\n',''))#输出 为第3列 elif i == 2:#print(table1[i])YY2 = table1[i][0] #第二个标签名称#print(YY2) data_row.append(table1[i][0])#输出为第4列data_row.append(table1[i][1].replace('\n',''))#输出为第5列write_csv(X,data_row)#生成的列表写入csv表格,生成一行数据print("已经解析第%s个PDF文档" % (N))print("*" *20)N = N+1
运行过程如果报错,创建的csv文件中已保存了前面处理的数据,必须另存文件后再接着处理后面的数据。
Python自动创建csv表格并逐行写入数据、自动并存相关推荐
- python新建txt文件,并逐行写入数据
python2新建txt文件,并逐行写入数据 #coding=utf-8 import os txtName = "codingWord.txt" f=file(txtName, ...
- python创建文件并写入-python新建txt文件,并逐行写入数据
Element is not currently visible and so may not be interacted with错误 用selenium定位时,碰到这种错误的原因: 此种问题的关键 ...
- python创建一个txt文件-python新建txt文件,并逐行写入数据
#coding=utf-8 txtName = "codingWord.txt" f=file(txtName, "a+") for i in range(1, ...
- Python实现读取Word表格计算汇总写入Excel
Python实现读取Word表格计算汇总写入Excel 快过年了,又到了公司年底评级的时候了.今年的评级和往常一样,每个人都要填写公司的民主评议表,给各个同事进行评价打分,然后部门根据收集上来的评价表 ...
- Python读取excel/csv表格并通过折线图可视化显示
Python读取excel/csv表格并通过折线图可视化显示 写作背景 参数 使用figure()函数重新申请一个figure对象 注意,每次调用figure的时候都会重新申请一个figure对象 第 ...
- 如何在Python中创建Excel表格
之前在学习os模块中,我们知道了如何创建一个txt格式的文件(具体操作见https://mp.csdn.net/postedit/80903024) 但是当我们爬取一些小说或一些图片时,我们需要分类管 ...
- Python处理示波器CSV表格数据、微软excel格式数据
Python处理示波器CSV文件数据.微软excel文件数据 软件环境 处理示波器导出的csv表格数据 csv原始数据形式 处理代码 代码运行结果 处理Simulink导出的excel表格数据 exc ...
- python填写excel-python——向Excel读取或写入数据
http://www.pythonexcel.com/这个网站emm,挺详细的 嗯,主要翻译一下:http://www.pythonexcel.com/python-excel-writer.php ...
- 表格 自动生成流程图 python_Visio竟然可以根据Excel数据自动生成流程图,这也太牛了吧!...
前段时间受邀去到一家制造型企业培训Excel,在课前沟通的阶段,客户提出一个需求,希望在课程中能介绍一下如何在Excel中绘制流程图.虽然Excel是一个功能非常强大的数据分析工具,但它也不是一个万金 ...
- linux mangos创建账号,魔兽mangos系统用户数据自动备份Linux脚本
魔兽mangos系统用户数据自动备份Linux脚本 来源: 作者: 点击: #!/bin/bash USER= PASS= DBNAME=mangos RNAME=realmd clear echo ...
最新文章
- 【割边缩点】解题报告:POJ - 3694 - Network(Tarjan割边缩点 + LCA + 并查集优化)
- eclipse新建maven项目_通过Eclipse新建简单动态项目,访问成功
- json.dumps()和json.loads()
- Daily Scrum - 11/24
- 2021牛客暑期多校训练营7 B-xay loves monotonicity(线段树+不降子序列)
- python实现微信小程序的接口自动化_appium+python自动化56-微信小程序自动化(摩拜为例)...
- python中的PEP是什么?怎么理解?(转)
- 使用ISE一键生成bit文件
- 安卓开发之Toast(吐司)应用
- Kali2020.1安装AWVS12 详细过程
- Windows创建快捷方式的几种方法你用过哪些?
- 制作一个简单的网页(入门篇)
- 英语 动画 教学 字母_字母形式在阅读教学中的作用
- 树(前序,中序,后序)
- mybatisPlus插入语句
- raw图的存储格式和读取方式
- 数据分析Qgis-城市餐饮店铺选址
- lambda no instance(s) of type variable(s) T exist so that void conforms to R
- DSP音频软件与算法开发
- 转换英文货币大小写的代码