Python编程快速上手-处理CSV文件和JSON数据

2022/5/3 20:42:52

本文主要是介绍Python编程快速上手-处理CSV文件和JSON数据,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  • CSV模块

Read对象

  将CSV文件表示为列表的列表

>>> import csv
>>> exampleFile = open('example.csv')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'example.csv'
>>> exampleFile = open('example.csv')
>>> exampleReader = csv.reader(exampleFile)
>>> exampleData = list(exampleReader)
>>> exampleData
[['4/5/2014 13:34', 'Apples', '73'], ['4/5/2014 3:41', 'Cherries', '85'], ['4/6/2014 12:46', 'Pears', '14'], ['4/8/2014 8:59', 'Oranges', '52'], ['4/10/2014 2:07', 'Apples', '152'], ['4/10/2014 18:10', 'Bananas', '23'], ['4/10/2014 2:40', 'Strawberries', '98']]
>>>

  表达式exampleData[row][col] 来访问特定行和列的值。

>>> exampleData[0][0]
'4/5/2014 13:34'
>>>
>>> exampleData[0][1]
'Apples'
>>> exampleData[0][2]
'73'
>>> exampleData[1][1]
'Cherries'
>>> exampleData[1][0]
'4/5/2014 3:41'
>>> exampleData[6][1]
'Strawberries'
>>>

在for循环中,从Reader对象读取数据

  对于大型的CSV文件,需要在一个for循环中使用Reader对象。避免将整个文件一次性装入内存。

>>> import csv
>>> exampleFile = open('example.csv')
>>> exampleReader = csv.reader(exampleFile)
>>> for row in exampleReader:
...     print('Row #' + str(exampleReader.line_num) + ' ' + str(row))
...
Row #1 ['4/5/2014 13:34', 'Apples', '73']
Row #2 ['4/5/2014 3:41', 'Cherries', '85']
Row #3 ['4/6/2014 12:46', 'Pears', '14']
Row #4 ['4/8/2014 8:59', 'Oranges', '52']
Row #5 ['4/10/2014 2:07', 'Apples', '152']
Row #6 ['4/10/2014 18:10', 'Bananas', '23']
Row #7 ['4/10/2014 2:40', 'Strawberries', '98']

  在导入csv模块,从CSV文件得到Reader对象之后,可以循环遍历Reader 对象中的行。每一行时一个值的列表,每个值表示一个单元格。  

  print()函数将打印出当前行的编号以及该行的内容,要取出行号,需要使用Reader对象的line_num变量。它包含当前行的编号。Reader 对象只能循环遍历一次,要再次读取CSV文件,必须调用csv.reader,创建一个对象。

Writer对象

>>> outputFile = open('output.csv', 'w', newline='')
>>> outputWriter = csv.writer(outputFile)
>>> outputWriter.writerow(['spam', 'eggs', 'bacon', 'ham'])
21
>>> outputWriter.writerow(['Hello, world!', 'eggs', 'bacon', 'ham'])
32
>>> outputWriter.writerow([1, 2, 3.141592, 4])
16
>>> outputFile.close()
>>>

 

 

delimiter和lineterminator关键字参数

 

从CSV文件中删除表头

 

JSON和API

 

json模块

 

取得当前的天气数据

 



这篇关于Python编程快速上手-处理CSV文件和JSON数据的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程