利用Python将list列表写入文件并读取的方法汇总
来源:脚本之家    时间:2022-03-25 17:27:18
目录
1.writelines()直接写入2.str转化为字符串写入3.for循环写入4.使用.join函数修改列表读取数据附:还有写csv文件和excel文件的方式总结

1.writelines()直接写入

l=["A","B","C","D"]
 
f=open("k.txt","w")
 
f.writelines(l)
f.close()

该方法写入直接写入列表元素

2.str转化为字符串写入

l=["A","B","C","D",1,2,3]
 
f=open("k.txt","w")
 
f.write(str(l))
f.close()

该方法会将整个列表转化为字符串并写入,

3.for循环写入

l=["A","B","C","D"]
 
f=open("k.txt","w")
 
for line in l:
    f.write(line+"\n")
f.close()

此方法的好处是,每个元素都是单词写入,可以在写入时对每个元素进行修改,并且可以换行。但注意列表中的数字是没有办法与你所要添加的字符相加的(int类型不能与str相加)

4.使用.join函数修改列表

l=["A","B","C","D"]
str = "\n"
f=open("k.txt","w")
f.write(str.join(l))
f.close()

使用join可以很好的添加你想要添加的字符以及数字,非常的灵活,推荐使用,如果列表中存在数值类型,可以先用str转换之后再进行写入

读取数据

1read

如果使用read来读取,则返回为字符串类型,并且列表只能为字符串类型(str),不能存在数值类型,如果有数字则会报错

readline与read相同 ,

如果使用readlines来读取,则默认返回为列表类型,并且列表的一个元素为一行元素

这时便可以对数据进行很好的处理

读取列表中的数字,提供一个简单的方法

for line in l:
    if "0" in next or "1" in next:

附:还有写csv文件和excel文件的方式

写csv文件

import csv
import codecs
def data_write_csv(file_name, datas):#file_name为写入CSV文件的路径,datas为要写入数据列表
    file_csv = codecs.open(file_name,"w+","utf-8")#追加
    writer = csv.writer(file_csv, delimiter=" ", quotechar=" ", quoting=csv.QUOTE_MINIMAL)
    for data in datas:
        writer.writerow(data)
    print("保存文件成功,处理结束")

写excel文件

#  将数据写入新文件
def data_write(file_path, datas):
    f = xlwt.Workbook()
    sheet1 = f.add_sheet(u"sheet1",cell_overwrite_ok=True) #创建sheet
    
    #将数据写入第 i 行,第 j 列
    i = 0
    for data in datas:
        for j in range(len(data)):
            sheet1.write(i,j,data[j])
        i = i + 1
        
    f.save(file_path) #保存文件

总结

到此这篇关于利用Python将list列表写入文件并读取的文章就介绍到这了,更多相关Python将list写入文件读取内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

关键词: 保存文件 希望大家 进行修改 没有办法 相关文章

X 关闭

X 关闭