Python学习笔记_文件操作 txt、excel
import numpy as np
import xlwt
# 列表数据保存到 .txt
def SaveDatatxt(FileName, Data):
with open(FileName, 'a') as f:
for i in range(len(Data)):
# 列表嵌套列表
if isinstance(Data[i], list):
for j in range(len(Data[i])):
f.write(str(Data[i][j]) + ' ')
f.write('\n')
# 列表
else:
f.write(str(Data[i]) + ' ')
f.write('\n')
# 读取 .txt 数据保存为列表格式
def ReadDatatxt(FileName):
with open(FileName, 'r') as f:
OutputData = []
# 遍历每一行读取
for line in f:
Data = []
# 对于每一行,按' '把数据分开
data = line.split(' ')
# 最后一个元素一般是 \n,删除
# 不能使用 dat = data.pop(len(data)-1),因为返回的是被删除的元素
data.pop(len(data) - 1)
for i in range(len(data)):
Data.append(int(data[i]))
OutputData.append(Data)
return OutputData
# 将 .txt 的数据输出到 excel 中
def TxtToExcel(FileName, ExcelName):
# 创建工作簿
f = xlwt.Workbook()
# 创建一个sheet
sheet = f.add_sheet('Data', cell_overwrite_ok=True)
i = 0
with open(FileName, 'r') as ff:
for line in ff:
LineData = line.split(' ')
LineData.pop(len(LineData) - 1)
for j in range(len(LineData)):
# 在excel中,(i,j)位置写入数据
sheet.write(i, j, LineData[j])
i = i + 1
f.save(ExcelName)
FileName = 'Test.txt'
ExcelName = 'test.xls'
Data = [1, 2, 3]
SaveDatatxt(FileName, Data)
X = ReadDatatxt(FileName)
print(X)
X = np.array(X, dtype="float")
# 将X转化为numpy格式,数据类型为float
print(X)
TxtToExcel(FileName, ExcelName)