Python数据写入csv格式文件

简介: (只是传递,基础知识也是根基) Python读取数据,并存入Excel打开的CSV格式文件内! 这里需要用到bs4,csv,codecs,os模块。 废话不多说,直接写代码!该重要的内容都已经注释了,剩下不懂的可以自己查询一下,或者QQ群内问我。

(只是传递,基础知识也是根基)

Python读取数据,并存入Excel打开的CSV格式文件内!

这里需要用到bs4,csv,codecs,os模块。

废话不多说,直接写代码!该重要的内容都已经注释了,剩下不懂的可以自己查询一下,或者QQ群内问我。QQ群在以往的博客中!

 1 #coding:utf-8 
 2 from bs4 import BeautifulSoup
 3 import bs4
 4 import os
 5 import time
 6 import csv
 7 import codecs
 8 
 9 #读取XML内的文件数据并存入CSV格式的文件--可使用EXCEL打开
10 def open_file():
11     file_folder= 'C:\\Users\\Administrator\\Desktop\\File\\Filename' ##文件夹位置
12     if os.path.isdir(file_folder):
13         for fileName in os.listdir(file_folder):
14            # print fileName
15             info(fileName) ##读取文件名字
16 def info(fileName):
17     soup = bs4.BeautifulSoup(open('C:/Users/Administrator/Desktop/File/Filename/'+fileName))
18     a = soup.find_all('mxxx')
19     info = []
20     for i in a:
21         dt=[]
22         dt.append(i.find('xx').get_text().strip())
23         dt.append( i.find('xx').get_text().strip())
24         dt.append(i.find('xx').get_text().strip())
25         dt.append(i.find('xx').get_text().strip()+'\n')
26         dt.append( i.find('xx').get_text().strip())
27         dt.append(i.find('xx').get_text().strip())
28         dt.append(float( i.find('xx').get_text().strip())  + float(i.find('xx').get_text().strip()))
29         info.append(dt)
30     with open("Ex_info.csv","ab+") as csvfile: ##“ ab+ ”去除空白行,又叫换行!
31         csvfile.write(codecs.BOM_UTF8)  ##存入表内的文字格式
32         writer = csv.writer(csvfile)  #存入表时所使用的格式
33         writer.writerow(['表头','表头'])
34         writer.writerows(info) #写入表
35     
36 if __name__ == '__main__':
37     open_file()

这里主要三部分,我调用的测试使用的xml内的数据,这里使用的bs4来解析xml文件。

解释第一部分:

打开文件夹,并获取到文件的名字,因为文件有多个,所以使用了os模块的函数来打开文件

1  file_folder= 'C:\\Users\\Administrator\\Desktop\\File\\Filename' ##文件夹位置
2     if os.path.isdir(file_folder):
3         for fileName in os.listdir(file_folder):
4            # print fileName
5             info(fileName) ##读取文件名字

fileName就是我们所获取的文件的名字。

第二部分:

获取文件名字后需要使用bs4模块来打开文件,因为多个文件,所以将解析过程写入函数内。

 1 def info(fileName):
 2     soup = bs4.BeautifulSoup(open('C:/Users/Administrator/Desktop/File/Filename/'+fileName))
 3     a = soup.find_all('mxxx')
 4     info = []
 5     for i in a:
 6         dt=[]
 7         dt.append(i.find('xx').get_text().strip())
 8         dt.append( i.find('xx').get_text().strip())
 9         dt.append(i.find('xx').get_text().strip())
10         dt.append(i.find('xx').get_text().strip()+'\n')
11         dt.append( i.find('xx').get_text().strip())
12         dt.append(i.find('xx').get_text().strip())
13         dt.append(float( i.find('xx').get_text().strip())  + float(i.find('xx').get_text().strip()))
14         info.append(dt)

打开文件夹后取出文件,并解析后使用BeautifulSoup的解析网页方法来获取数据,'mxxx'与'xx'都是树的名字。

第三部分:

将数据写入csv文件,这里的数据都是List格式,并需要遍历。

1 with open("Ex_info.csv","ab+") as csvfile: ##“ ab+ ”去除空白行,又叫换行!
2         csvfile.write(codecs.BOM_UTF8)  ##存入表内的文字格式
3         writer = csv.writer(csvfile)  #存入表时所使用的格式
4         writer.writerow(['表头','表头','表头','表头'])
5         writer.writerows(info) #写入表

这里的表头要和我们上面获取的数据列一致,不然会出现错误。写入文件的格式有 “ w ”," a+ "," ab+ "等,这里使用的是“ ab+ ”,去除空行!

还有我们如果存入的数据是1000000000这样的,在excel内是E+17的显示,所有在获取数据的时候最后面加  “\n”。最后写入表内,并打开!

 

Welcome to Python world! I have a contract in this world! How about you?
相关文章
|
3天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
13 2
|
2天前
|
机器学习/深度学习 算法 数据挖掘
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享-2
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享
24 1
|
1天前
|
机器学习/深度学习 算法 Python
数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
20 4
|
2天前
|
机器学习/深度学习 算法 算法框架/工具
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
21 0
|
2天前
|
机器学习/深度学习 数据挖掘 网络架构
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
12 0
|
2天前
|
数据挖掘 数据处理 索引
如何使用Python的Pandas库进行数据筛选和过滤?
Pandas是Python数据分析的核心库,提供DataFrame数据结构。基本步骤包括导入库、创建DataFrame及进行数据筛选。示例代码展示了如何通过布尔索引、`query()`和`loc[]`方法筛选`Age`大于19的记录。
10 0
|
4天前
|
Python
如何使用Python的Pandas库进行数据缺失值处理?
Pandas在Python中提供多种处理缺失值的方法:1) 使用`isnull()`检查;2) `dropna()`删除含缺失值的行或列;3) `fillna()`用常数、前后值填充;4) `interpolate()`进行插值填充。根据需求选择合适的方法处理数据缺失。
37 9
|
6天前
|
索引 Python
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
使用Pandas在Python中创建数据透视表的步骤包括:安装Pandas库,导入它,创建或读取数据(如DataFrame),使用`pd.pivot_table()`指定数据框、行索引、列索引和值,计算聚合函数(如平均分),并可打印或保存结果到文件。这允许对数据进行高效汇总和分析。
10 2
|
6天前
|
存储 Python
用Python实现批量下载文件——代理ip排除万难
用Python实现批量下载文件——代理ip排除万难
|
6天前
|
JSON 关系型数据库 数据库
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
33 0

热门文章

最新文章