实用小技巧-----解决从Github上获取.csv文件
程序员文章站
2022-07-05 23:01:07
...
由于最近学习需要,要在github上获取原始数据。但下载通道给堵死了,试着改了虚拟IP地址等方法都没有用,于是尝试出了一个半自动的小方法。
问题叙述
- 找到需要的资源地址。以该项目为例:https://github.com/jakevdp/data-USstates
常规的链接下载方法失效,采用最原始的方法:复制粘贴。
将复制后的内容放到Excel表格中,再导出逗号分隔符(CSV)文件 - 该文件顺序并没有想象中的完美,如果直接逐行读取(以其中一个文件为例),结果如下:
后面产生了一行我们不需要的空数据,用记事本打开该.csv文件,发现问题在于:
每一行的后面多了一个逗号。因此为了去掉每一行最后的空数据,可编写一个小脚本。
解决办法
- 首先观察数据
new=[]
for line in lines:
if line.endswith(',\n'):
tmp=line.replace(',\n','\n')
new.append(tmp)
else:
new.append(line)
可以看出,我们需要删除的是‘\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一个几千行的数据文件看看, 先看看原数据:
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)
芜湖^
还没怎么学爬虫,就不用它了