一,csv文件
csv什么是文件?csv文件是一种文件类型。这种文件不像excel,word,ppt……和这些文件一样,它们的区别在于,如果你使用它们MacOs(Mac OperationSystem)打开他,他就会改变。
Microsoft Operation System(微软) | Mac Operation System(苹果操作系统) | |
---|---|---|
1 | PowerPoint | Keynote/Pdf |
2 | Word | Pages/Pdf |
3 | Excel | Numbers/Apple Graphics/Pdf |
但是,csv文件永远不会改变。他是一个基本以类似表格形式呈现的文档。
二、两条路径,条条大路通罗马。
一般来说,我们会用两种方法打开一个并读取一个文件(实际上还有一个常用的)。
- Python——这是最原始的语言
- numpy(numberPython)——这是在Python一个出来的package(模块)
- pandas——这是在numpy出来的。
分析它们的优缺点:
- 这种原始语言太繁琐了。
- 这有时是另一种C语言,而不是Python,而且不擅长处理文字
- 这是完美的,但只擅长分析列表
好了,这里只说第一种方法和第三种方法。
三,用纯Python语言实现
先看看我们最亲爱的代码。
csvFile=open('C:/Users/HJ/Documents/Tencent Files/1968159343/FileRecv/Pokemon.csv',encoding='utf-8') lines=csvFile.readlines() nlist=[] for i in range(1,len(lines)): s=lines[i] s=s.replace('\n','') n=s.split(',') nlist.append(n) csvFile.close() nlist
是的,就这样。
(代码分析 )
第一行是打开文件,文件位置放在括号中。后边"encoding=utf-8"它是他的格式,与中文兼容,所以最好改变。有人问,为什么要在前面加一个变量,然后赋值他?因为这其实让下面的代码写得更好,下面就知道了。第二行是什么意思?就是把他一行一行打出来(也就是读书),因为我们是二维列表,所以要用列表嵌套列表。
让我们看看大图中的二维列表,蓝色11行列表的名称,然后把这么多列表放在A列表中,然后我们打印出来。下面实际上非常简单,我们使用一个循环让计算机重复800次(中间6、7行代码是美化效果)。
结果其实很丑。pandas搞出来的。
实际上是长成这个样子。丑吧?
首先,你必须有一份文件-###
四、用另一种方法——pandas
import pandas as pd dataFrame=pd.read_csv('C:/Users/HJ/Documents/Tencent Files/1968159343/FileRecv/Pokemon.csv',encoding='utf-8') dataFrame
就这么多,开心吧,可做出来的效果却很好呢。
好了,两种方法都说了。
代码
csvFile=open('C:/Users/HJ/Documents/Tencent Files/1968159343/FileRecv/Pokemon.csv',encoding='utf-8') lines=csvFile.readlines() nlist=[] for i in range(1,len(lines)): s=lines[i] s=s.replace('\n','') n=s.split(',') nlist.append(n) csvFile.close() nlist
csvFile=open('C:/Users/HJ/Documents/Tencent Files/1968159343/FileRecv/Pokemon.csv',encoding='utf-8') lines=csvFile.readlines() nlist=[] for i in range(1,len(lines)): s=lines[i] s=s.replace('\n','') n=s.split(',') nlist.append(n) csvFile.close() nlist
import pandas as pd dataFrame=pd.read_csv('C:/Users/HJ/Documents/Tencent Files/1968159343/FileRecv/Pokemon.csv',encoding='utf-8') dataFrame
import pandas as pd dataFrame=pd.read_csv('C:/Users/HJ/Documents/Tencent Files/1968159343/FileRecv/Pokemon.csv',encoding='utf-8') dataFrame
下一期见!