前言
本篇文章介绍通过python读写各种文件,涉及TXT,Excel,CSV,JSON文件。
TXT文件读取
文件内容如下:
代码如下:
import numpy as np
# Method 1
file1 = open("TXT.txt")
while True:
line = file1.readline()
print(line)
if not line:
break
file1.close()
# Method 2
for line in open("TXT.txt"):
print(line)
# Method 3
with open("TXT.txt",'r') as f:
data = f.read()
print(data)
'''
读取文件的3种方法:
read()将文本中所有行读到一个字符串中去
readline()一行一行读,在读行过程中可以跳过特定行
readlines()将文本中所有行读到一个list中,文本文件每一行是list的一个元素
'''
# Read
a = np.loadtxt('TXT.txt')
b = a.reshape(3,3)
c = a.reshape(-1,1,3)
print(b,c)
with open('TXT.txt','r') as f:
data = f.readlines()
for line in data:
item = line.split()
#item = map(float, item)
print(float(item[1])+1)
Excel文件读取
文件内容如下:
代码如下:
import os
import xlrd
data = xlrd.open_workbook('EXCEL.xlsx')
data = data.sheet_by_index(0)
nrows=data.nrows
ncols=data.ncols
print(nrows,ncols)
col_score = data.col_values(1)
row_values = data.row_values(0)
print(col_score,row_values)
data=xlrd.open_workbook('EXCEL.xlsx')
table=data.sheets()[0]
data_list=[]
for i in range(4):
data_list.extend(table.row_values(i))
print(data_list)
CSV文件读取
文件内容如下:
代码如下:
import csv
csvFile = open("CSV.csv", "r")
reader = csv.reader(csvFile)
data = []
for item in reader:
if reader.line_num == 1:
continue
data.extend(item)
csvFile.close()
print(data)
csvFile = open("CSV.csv", "r")
reader = csv.reader(csvFile)
# 建立空字典
result = {}
for item in reader:
if reader.line_num == 1:
continue
result[item[1]] = item[2]
csvFile.close()
print(result)
JSON文件读取
文件内容如下:
代码如下:
import json
JSON = {
'name' : 'ACME',
'shares' : 100,
'price' : 542.23
}
json_str = json.dumps(JSON)
data2 = json.loads(json_str)
# Writing JSON data
with open('JSON.json', 'w') as f:
a = json.dump(JSON, f)
# Reading data back
with open('JSON.json', 'r') as f:
data = json.load(f)
print(data)