Python中集成了专用于处理csv文件的库,名为:csv。
csv 库中有4个常用的对象:
# 导入 csv 库
import csv
# 创建列表,保存header内容
header_list = ["设备编号", "温度", "湿度", "转速"]
# 创建列表,保存数据
data_list = [
[0, 31, 20, 1000],
[1, 30, 22, 998],
[2, 32, 33, 1005]
]
# 以写方式打开文件。注意添加 newline="",否则会在两行数据之间都插入一行空白。
with open("new_data.csv", mode="w", encoding="utf-8-sig", newline="") as f:
# 基于打开的文件,创建 csv.writer 实例
writer = csv.writer(f)
# 写入 header。
# writerow() 一次只能写入一行。
writer.writerow(header_list)
# 写入数据。
# writerows() 一次写入多行。
writer.writerows(data_list)
先将 csv 文件按行读入,构成一个二维列表
然后使用 zip 和 * 号进行转置
# 实现行转列
table = [["col1", "col2"],
["item1-1", "item1-2"],
["item2-1", "item2-2"]]
result_table = list(zip(*table))
print(result_table)
res_csv_file = datetime.now().strftime("%Y-%m-%d_%H-%M-%S") + '_day_charm.csv'
row = ["one", "tow"]
context = [[1,2,3],[4,5,6]]
context_table = list(zip(*context))
with open(res_csv_file, 'w') as myFile:
myWriter = csv.writer(myFile)
myWriter.writerow(row)
myWriter.writerows(context_table)