常用文件读取(python)
CSV文件
CSV(Comma-Separated Values)是一种常见的文本文件格式,用于存储结构化的数据。CSV文件中的数据是以逗号(或其他指定的分隔符)分隔的文本行,每一行表示一条记录,每个字段表示记录中的一个属性或值。
读CSV
import csv
import codecs
file_name = ""
with open(file_name, "r", encoding="gbk") as f_r:
for row in csv.DictReader(f_r, skipinitialspace=True):
data = dict(row)
print(data["key1"], data["key2"])
写CSV
with open(file_name, mode="r+", encoding="gbk") as f_w:
titile = ["sentence", "label"]
writer = csv.DictWriter(f_w, fieldnames=titile)
writer.writeheader()
for data in dataset:
writer.writerow({"sentence":data[0], "label":data[1]})
JSON格式数据写入文件
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,用于存储和表示结构化的数据。JSON使用键值对的形式表示数据,使用"键: 值"的结构,并使用逗号分隔不同的键值对。
with open(file_name, "w", encoding="gbk") as f_w:
for data in dataset:
f_w.write(json.dumps(data) + "\n") // 注意:这个\n必须带上
PKL文件
PKL文件是一种用于Python的序列化文件格式,它被称为pickle文件。pickle提供了一种在Python中将对象转换为字节流,并在需要时将其还原回对应的对象的方法。它可以用于将Python对象序列化并保存到文件中,或者从文件中读取序列化的数据并还原回对象。
PKL文件具有以下特点和用途:
- 序列化和反序列化:通过pickle模块,可以将Python中的对象序列化为字节流,保存为PKL文件。反之,也可以从PKL文件中读取字节流,并还原为原始的Python对象。
- 支持多种数据类型:pickle可以序列化并还原几乎任何Python对象,包括自定义类、集合(如字典、列表、元组等)、函数、模块等。
- 对象持久化:PKL文件能够将对象持久化保存,以便以后在需要时进行访问和使用。这在缓存数据、存储模型等场景下非常有用。
- 跨平台使用:PKL文件可以在不同的Python环境和操作系统之间进行迁移和共享。只要Python版本一致,就可以在不同的机器上读取和使用PKL文件。
- 注意事项:需要注意的是,pickle文件是二进制文件,因此需要以二进制模式进行读取和写入,使用'rb'(读取二进制)和'wb'(写入二进制)模式。
使用pickle保存对象到PKL文件的示例:
import pickle
data = {
'name': 'John',
'age': 30,
'city': 'New York'
}
with open('data.pkl', 'wb') as file:
pickle.dump(data, file)
从PKL文件中加载对象示例:
import pickle
with open('data.pkl', 'rb') as file:
loaded_data = pickle.load(file)
print(loaded_data) # 输出: {'name': 'John', 'age': 30, 'city': 'New York'}
数据写入xlsx类型的文件
import xlsxwriter
workbook = xlsxwriter.Workbook(file_name)
worksheet = workbook.add_worksheet(sheet_name)
worksheet.write(行, 列, value)
workbook.close()