我是靠谱客的博主 紧张香氛,最近开发中收集的这篇文章主要介绍通过requests读取web数据,使用pandas 完成csv读写,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

pandas读取csv数据,作为requests参数,返回数据通过pandas写入csv               

 

import requests
import json
import pandas as pd
import csv
import numpy as np
# # # 拷贝一份原文件,并添加新字段
####
# 读取1.csv
data1 = pd.read_csv(r".data1.csv")
# 增加新列
data1['DZDM'] = ''
data1['DZQC'] = ''
data1['parent_address_code'] = ''
data1['address_level'] = ''
data1['SCORES'] = ''
# 写入2.csv
写入header,不写index
data1.to_csv(r".data2.csv", encoding='utf-8', header=True, index=False)
print("已经把文件拷贝到另外一个csv!")
# # #
读取csv文件 # # #
# 读取2.csv
data2 = pd.read_csv(r".data2.csv")
# 把文件转换为str
# data2 = data2.astype(str)
# data = pd.read_table(r".data2.csv", sep=',')
# 获取文件的总行数,默认跳过第一行
rows = len(data2)
# 获取文件的总行数的另外一种方法
# rows = data.shape[0]
# 获取文件的总列数
colls = data2.shape[1]
print("新文件的总行数(不包括字段行)是:")
print(rows)
print("文件的总列数是:")
print(colls)
# 读取列名
# mycolls = pd.DataFrame(columns=data2.columns.values)
mycolls = data2.columns.values
print(mycolls)
# # #
写csv # # # #
url = 'http://ip/-svc/adress/query'
# 循环读取每一行数据
for i in range(rows):
# 读取第i行数据
# 使用loc 读取出来的是?
# rr = data.loc[i:i]
# print(rr['SFZ'].values)
# 使用iloc 整数索引,r是一个series
r = data2.iloc[i]
# 对DZ字段进行规格化
addr = r['DZ']
# 把addr 转换成字符串
addr = ''.join(addr)
# 去除头尾的空格
addr = addr.strip()
# print(r['DZ'])
# 如果addr 不为空
if len(addr) > 0 :
params = json.dumps({'access_key': 'token', 'address': addr, 'from': 0, 'size': 1})
headers = {'content-type': 'application/json'}
rr = requests.post(url, data=params, headers=headers)
res = rr.json()
if len(res['data']) > 0 :
# 记录处理到第几行
print('匹配到了这一行:')
print(i+2)
print(addr)
data2.loc[i, ['DZDM']] = res['data'][0]['address_code']
data2.loc[i, ['DZQC']] = res['data'][0]['address']
data2.loc[i, ['parent_address_code']] = res['data'][0]['parent_address_code']
data2.loc[i, ['address_level']] = res['data'][0]['address_level']
data2.loc[i, ['SCORES']] = res['data'][0]['_score']
data2.to_csv(r".data3.csv", encoding='UTF-8', header=True, index=False)

 

 

 

 

参考:https://www.jianshu.com/p/7ac36fafebea

最后

以上就是紧张香氛为你收集整理的通过requests读取web数据,使用pandas 完成csv读写的全部内容,希望文章能够帮你解决通过requests读取web数据,使用pandas 完成csv读写所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部