python中文件的读写(含爬虫内容)

本文详细介绍了Python中如何进行文件的读写操作,包括打开、读取、写入和关闭文件的方法。同时,结合实例探讨了如何将文件操作应用于网络爬虫,讲解了爬取网页数据并保存到本地文件的流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



#pandas中的解析函数
#read_csv:从文件,URL,文件型对象中加载带分隔符的数据。默认分隔符为“逗号”
#read_table:从文件,URL,,文件型对象中加载带分隔符的数据。默认分隔符数据为制表符(‘\t’)
#read_fwf:读取定宽列格式数据(即没有分隔符)
#read_clipboard:读取剪切板上的数据,可以看做read_table的剪贴版,将网页转换为表格时有用。
import pandas as pd
import numpy as np
df=pd.read_table('D:\Azhongmin2015\python_code\code_public.txt',header=None)#读入文件,无列表头
df=pd.read_table('D:\Azhongmin2015\python_code\code_public.txt',sep=',',names=list('abcde'))#abcde为列表头
df2=pd.read_csv('D:\Azhongmin2015\python_code\\test2.csv',index_col=['key1','key2'])#层次索引,遇到t开始要加双斜线
list(open("D:\Azhongmin2015\python_code\\test1.txt"))#列表显示
df3=pd.read_csv('D:\Azhongmin2015\python_code\\test1.txt',sep='\s+')#用正则表达式‘\s+’去除多余空白符
df3=pd.read_csv('D:\Azhongmin2015\python_code\\test1.txt',sep='\s+',nrows=2)#只读取两行

'''XML和HTML:web信息收集'''


#python 3.x中urllib库和urilib2库合并成了urllib库
#urllib2.urlopen()变成了urllib.request.urlopen() 
#urllib2.Request()变成了urllib.request.Request() 
import urllib
from lxml.html import parse
from urllib.request import urlopen
ht2='http://finance.yahoo.com/quote/AAPL/options?ltr=1'
ht='http://ecpi.ggj.gov.cn/jndfgz/201606/t20160623_290399.htm'
parsed=parse(urlopen(ht2))
doc=parsed.getroot()#
links=doc.findall('.//a')#获取文档中所有url链接
links[10:15]#结果:[<Element a at 0xd97b70>, <Element a at 0xd97ba0>, <Element a at 0xd97bd0>, <Element a at 0xd97c00>, <Element a at 0xd97c30>]
'''links是表示HTML元素的对象,要得到URL和链接文本,必须使用各对象的get方法(针对URL)和text_content方法(针对显示文本)'''
lnk=links[1]#结果:<Element a at 0xd97ed0>
lnk.get('href')#结果'https://mail.yahoo.com/?.intl=us&.lang=en-US'
lnk.text_content()#结果:'Mail'
urls=[lnk.get('href') for lnk in doc.findall('.//a')]#显示所有链接
for line in ruls:
    print line.strip()
#encoding utf-8
content=urllib.request.urlopen(ht).read() 



df3=pd.read_csv('D:\Azhongmin2015\python_code\cotent_lili.csv')
path=nltk.data.find('D:\Azhongmin2015\python_code\cotent_lili.csv')



#事件描述编码
file_object=open('D:\Azhongmin2015\python_code\cotent_lili.csv').read().split('\n')  

Rs=[]

for i in range(660):
    result=[]
    seg_list = jieba.cut(file_object[i])
    for w in seg_list :
        result.append(w)
    Rs.append(result)

import csv
file=open('D:\Azhongmin2015\python_code\\result.csv','w')
writer = csv.writer(file)
writer.writerows(Rs)#按行写入
#file.write(str(Rs))
file.close()   
    
#确认单编码
file_object1=open('D:\Azhongmin2015\python_code\confirm.csv').read().split('\n')  
Rs1=[]
for i in range(660):
    result=[]
    seg_list = jieba.cut(file_object1[i])
    for w in seg_list :
        result.append(w)
    Rs1.append(result)
#写入CSV
import csv
file=open('D:\Azhongmin2015\python_code\\result3.csv','w')
writer = csv.writer(file)
writer.writerows(Rs1)#按行写入
#file.write(str(Rs))
file.close() 
#处理意见编码
#认单编码
#coding='utf-8'
import csv
import jieba
import pandas as pd
file_object2=open('D:\Azhongmin2015\python_code\\advice.csv').read().split('\n')  
Rs2=[]
for i in range(660):
    result=[]
    seg_list = jieba.cut(file_object2[i])
    for w in seg_list :
        result.append(w)
    Rs2.append(result)
#写入CSV
file=open('D:\Azhongmin2015\python_code\\result2.csv','w')
writer = csv.writer(file)
writer.writerows(Rs2)#按行写入
#file.write(str(Rs))
file.close() 



   


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值