欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

实用小技巧-----解决从Github上获取.csv文件

程序员文章站 2022-07-05 23:01:07
...

由于最近学习需要,要在github上获取原始数据。但下载通道给堵死了,试着改了虚拟IP地址等方法都没有用,于是尝试出了一个半自动的小方法。

问题叙述

  1. 找到需要的资源地址。以该项目为例:https://github.com/jakevdp/data-USstates
    常规的链接下载方法失效,采用最原始的方法:复制粘贴。
    将复制后的内容放到Excel表格中,再导出逗号分隔符(CSV)文件
  2. 该文件顺序并没有想象中的完美,如果直接逐行读取(以其中一个文件为例),结果如下:实用小技巧-----解决从Github上获取.csv文件
    后面产生了一行我们不需要的空数据,用记事本打开该.csv文件,发现问题在于:

实用小技巧-----解决从Github上获取.csv文件
每一行的后面多了一个逗号。因此为了去掉每一行最后的空数据,可编写一个小脚本。

解决办法

  • 首先观察数据
new=[]
for line in lines:
    if line.endswith(',\n'):
        tmp=line.replace(',\n','\n')
        new.append(tmp)
    else:
        new.append(line)

实用小技巧-----解决从Github上获取.csv文件
可以看出,我们需要删除的是‘\n’前面的逗号。

  • 再编写函数解决问题
def csv_script(file_name):
    '''
    输入csv文件名
    输出到原文件
    末尾的‘,’被删除
    '''
    file=open(file_name,"r")
    lines=[]
    for i in file:
        lines.append(i)
    file.close
    new=[]
    for line in lines:
        if line.endswith(',\n'):
            tmp=line.replace(',\n','\n')
            new.append(tmp)
        else:
            new.append(line)
        file_write_object = open(file_name, "w")  # 写入模式
    for var in new:
        file_write_object.writelines(var)
    file_write_object.close()


代码的原理很简单,可以看到实际效果也很不错,这里就不展示了

  • 一劳永逸地解决同类问题
    创建了有一个专门放脚本的文件夹,用pycharm写入.py文件。文件名最好与方法名一致。
    用该办法update一个几千行的数据文件看看, 先看看原数据:

实用小技巧-----解决从Github上获取.csv文件

import pandas as pd
import sys
sys.path.append("F:\python_scripts") #我的脚本文件夹位置
import csv_script  #脚本.py文件
csv_script.csv_script('state-population.CSV')
population_update=pd.read_csv('state-population.CSV')
print(population_update.head())
print(population_update)

实用小技巧-----解决从Github上获取.csv文件
芜湖^
还没怎么学爬虫,就不用它了