我可以嚣张宣布,我终于3级了hhhh。添加文章标签的时候终于可以随心所欲了,这是我唯一想要的点。
奇数行添加字段
这个其实分析和搜索一下,涉及到的一个关键知识点就是:Python文件读取写入操作
基础的过程已经在前面莫烦老师视频有。
另外参考这几个链接:
博客园wind1004:Python-文件读写及修改
CSV查找范围内数据
1 读入csv数据
参考链接:
易百数据:Python处理CSV数据
CSDNpy风之老凌:python之csv文件处理(基础)
.runoob.com:Pandas CSV 文件
我自己的数据就不放了,万来行,这里有个从runoob下的nba.csv
加载代码
import pandas as pd #我估摸着这是个规定句式
data=pd.read_csv('D:\Yan\Python\nba.csv')
print(data)
报错:AttributeError: partially initialized module ‘pandas’ has no attribute ‘read_csv’ (most likely due to a circular import)
找了一个链接,说是因为命名跟系统特有的重复。我,确实,这个py命名为csv.py了,我有罪。
CSDN:AttributeError: module ‘pandas’ has no attribute 'read_csv ’解决方法
改名字之后又遇见一个错误
OSError: [Errno 22] Invalid argument: ‘D:\Yan\Python\nba.csv’
又去搜索,CSDN:Python OSError: [Errno 22] Invalid argument:的解决办法
为什么报错呢,因为文件路径格式不对
#正确代码
import sys
import pandas as pd
data=pd.read_csv('D:\\Yan\\Python\\nba.csv') #看见没,双斜杠\\
print(data)
另外,根据参考链接.runoob.com:Pandas CSV 文件,还可以用to_string() 用于返回 DataFrame 类型的数据
import sys
import pandas as pd
data=pd.read_csv('D:\\Yan\\Python\\nba.csv')
print(data.to_string()) #就这里不一样
鼠标移到IDLE会提示你,双击可以扩展,右击可选浏览。而扩展又会提示你,文件比较大,会使得IDLE运行卡顿或变慢,建议你不要搞
另,关于dataframe,大概就是pandas的一种数据结构,像表一样,可存数字,字符串等等Pandas 库之 DataFrame - 败北桑 - 博客园
2 读取指定列
易百数据:Python处理CSV数据 这个链接读取行、列和特定行列,比较基础,可以用来了解.loc用法。不过这里的【特定】其实是自己指代的,和我的需求不符
CSDN用户Westin_Li:python下pandas库中读取指定行或列数据(excel或csv) 这个就比较符合了,通过筛选
我的目的是筛选出在中国经纬度范围内的数据:
Latitude:73°29’59.79"E至135°2′30’’E;
Longitude:3°31‘00’N至53°33′N;
再换算一下为小数点:
Latitude:73.4999-135.0417
Longitude:3.5167-53.55
import sys
import pandas as pd
data=pd.read_csv('D:\\Yan\\Python\\保护隐私不放了.csv')
print(data)
dataframe=data.loc[(data['lon']>3.05)&(data['lon']<53.8833)&(data['lat']>74.2167)
&(data['lat']<137.25)] #可以看见我把经纬度限制在了前面转换的数据范围里
dataframe.to_excel('dataframe.xlsx') #导出为xlsx,这里我缺模块,见下说明
print(dataframe) #或者直接输出
选择导出为xlsx报错:ModuleNotFoundError: No module named ‘openpyxl’
原因:我没装这个模块,cmd命令装一下
然而还是出错啦。
显示我,没有符合条件的数据emmm。我觉得前面的经纬度铁定错了,淦。改了经纬度,还是没有,不整了,23:51,睡觉睡觉。
另外,【待解决】💗💙💚💛💜💝
原csv表格只有5列。我不懂怎么我这里输出后变成了6列