python写数据进csv_Python数据写入csv格式文件

1115722-20180614153309758-752920669.png

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

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

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

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

1 #coding:utf-8

2 from bs4 importBeautifulSoup3 importbs44 importos5 importtime6 importcsv7 importcodecs8

9 #读取XML内的文件数据并存入CSV格式的文件--可使用EXCEL打开

10 defopen_file():11 file_folder= 'C:\\Users\\Administrator\\Desktop\\File\\Filename' ##文件夹位置

12 ifos.path.isdir(file_folder):13 for fileName inos.listdir(file_folder):14 #print fileName

15 info(fileName) ##读取文件名字

16 definfo(fileName):17 soup = bs4.BeautifulSoup(open('C:/Users/Administrator/Desktop/File/Filename/'+fileName))18 a = soup.find_all('mxxx')19 info =[]20 for i ina: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 ifos.path.isdir(file_folder):3 for fileName inos.listdir(file_folder):4 #print fileName

5 info(fileName) ##读取文件名字

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

第二部分:

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

1 definfo(fileName):2 soup = bs4.BeautifulSoup(open('C:/Users/Administrator/Desktop/File/Filename/'+fileName))3 a = soup.find_all('mxxx')4 info =[]5 for i ina: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”。最后写入表内,并打开!

你可能感兴趣的:(python写数据进csv)