字符分隔值,其文件以纯文本形式存储表格数据(数据和文本)
用字符进行分割,不一定时逗号。
利用csv库进行文件的读取,import csv,使用库中提供的函数进行文件的读写:
import csv
with("文件名.csv") as f:
f_csv = csv.reader(f)
#获取header
header = next(f_csv)
for row in f_csv:
print(row)
reader返回一个迭代对象,首先获取表格的头,也就是属性(列表形式),直接for循环得到每一行数据(列表形式)。
补充:iter()函数可以创建迭代对象,迭代器是一个可以记住遍历位置的对象。
也可以使用DictReader(),读出的数据以字典形式输出。
import csv
#创建header
header = ['','','']
#数据
data = [['','',''],['','','']]
with open("文件名.csv",mode='w',encoding="utf-8",newline="") as f:
writer = csv.write(f)
#一次写入一行,写入header
writer.writerow(header)
#一次写入多行
writer.writerows(data)
对表格数据进行操作吧!
用到的库:xlrd(读)、xlwt(写)
用到了xlrd库
import xlrd
#获取工作簿对象
workbook = xlrd.open_workbook("文件名.xls")
#获取sheet
sheet_names = workbook.sheet_name()
sheet1 = workbook.sheet_by_index(0)
#sheet1 = workbook.sheet_by_name("sheet1名字")
#操作表
rows = sheet1.nrows
cols = sheet1.ncols
#读出数据
datas = []
for i in range(rows):
datas.append(sheet1.row_values(i))
#列:sheet1.col_values(i)
#单元格:sheet1.cell_value(0.0)
用到了xlwt库
import xlwt
#创建工作簿
workbook = xlwt.workbook(encoding="utf-8")
#创建sheet
sheet1 = workbook.add_sheet('sheet1')
sheet1.write(0, 0, '输入数据')
#保存
workbook.save("文件名.xls")
使用openpyxl模块来操作xlsx文件的数据
import openpyxl
workbook = openpyxl.load_workbook("文件名.xlsx")
#获取所有sheet名字
sheet_names = workbook.sheetnames
sheet1 = workbook[sheet_names[0]]
#sheet1 = workbook["sheet名字"]
#sheet1 = workbook.worksheets[0]
#统计行数和列数
rows = sheet1.max_row
cols = sheet1.max_column
#读出数据
datas = []
for row in sheet1.rows:
data = []
for cell in row:
data.append(cell.value)
datas.append(data)
#整行读,获取到某行的tuple对象
#for row in list(sheet1.rows)[0]
#单元格:sheet1['A1'].value/sheet1.cell(1,1).value
补充:sheet1.rows得到的是一个生成器,每个数据以元组类型存储。
#按行读
with open('data.txt', 'r') as f:
data = f.read()
data = data.split('\n')
#写
with open('data.txt', 'a') as f:
f.write('data')
import pickle
with open('data.pkl', 'rb') as f:
data = pickle.load(f)
f = open('data.pkl', 'wb')
pickle.dump(data, f)
f.close()
参考:
https://blog.csdn.net/bryanwang_3099/article/details/119731390
https://blog.csdn.net/sinat_28576553/article/details/81275650?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-81275650-blog-120823417.pc_relevant_multi_platform_whitelistv4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-81275650-blog-120823417.pc_relevant_multi_platform_whitelistv4&utm_relevant_index=2