如何将txt格式文件逐行读取转为excel文件

研发给的txt文件数据量超级大,看着费劲。于是自己动手写了个脚本转为excel表格,脚本亲测很好用,分享出来。txt内容格式如下,每行看起来跟python的字典很像。

{k1:v1,k2:v2,......}

{k1,x1,k2:x2,......}

 

import codecs,pandas as pd
###定义文件路径,如果与脚本在同一目录,直接定义文件名
filename = "test.txt"
###打开文件
f = codecs.open(filename, encoding='UTF-8-sig')
col = []
rows = []
l = 0
###逐行读取txt
for line in f.readlines():
    ###每行内容,由str转为dict
    line = eval(line)
    row = []
    l += 1
    ###取出dict中的value值,作为每行的列值
    for v in line.values():
        row.append(v)
    if l == 1:
        ###取出dict中的key,作为列头;每行的key都是完全一样的,只取一次即可
        for k in line.keys():
            col.append(k)
        print("列获取成功%s"%col)
    rows.append(row)
    print("第%s歌"%l)
print("读取数据成功,开始转为excel")
###保存到excel表格
df = pd.DataFrame(rows, columns=col)
w = pd.ExcelWriter("test.xls")
df.to_excel(w, sheet_name='vip', index=False)
w.save()
w.close()
print("转换成功")

 

 

 

 

### 将不同类型文件转换为CSV格式 #### Excel 文件转 CSV 格式 为了将Excel文件的数据转化为便于处理的CSV格式,可以采用Python编程语言及其pandas库来实现这一目标。此方法不仅高效而且易于操作。 对于批量转换需求,在代码中定义`fPath = "C:\\Users\\杜漪漪\\Desktop\\excle"`作为待转化Excel文档的位置[^2]。通过遍历指定路径下的所有Excel文件并逐一将其保存为CSV文件,能够满足批量处理的需求。 以下是具体实现方式: ```python import os import pandas as pd def excel_to_csv(fPath): # 获取目录下所有的xlsx文件 files = [os.path.join(fPath, file) for file in os.listdir(fPath) if file.endswith('.xlsx')] for file in files: data_xls = pd.read_excel(file, index_col=0) new_file_path = file.replace(".xlsx", ".csv") data_xls.to_csv(new_file_path, encoding='utf-8') ``` 上述脚本会读取给定路径中的每一个`.xlsx`扩展名的文件,并利用Pandas库的功能把它们的内容导出到新的同名但带有`.csv`扩展名的新文件里去[^1]。 #### TXT 文件转 CSV 格式 当面对纯文本(TXT)形式存储的数据时,如果这些数据是以结构化的方式排列(比如每代表一条记录,字段之间由特定分隔符区分),那么同样可以通过编写简单的Python程序完成向CSV格式的转变。 下面是一个简单例子展示如何从固定宽度或逗号分割的TXT文件创建对应的CSV版本: ```python import csv def txt_to_csv(input_txt, output_csv, delimiter=','): with open(input_txt, 'r') as infile, \ open(output_csv, 'w', newline='') as outfile: stripped = (line.strip() for line in infile) lines = (line.split(delimiter) for line in stripped if line) writer = csv.writer(outfile) writer.writerows(lines) ``` 这段代码接受输入TXT文件路径、期望输出的目标CSV文件位置以及用于解析原始文本内各列之间的分隔字符参数。它逐行读取文件并将每一行按照设定好的分隔符拆分成列表项后再写入目的CSV文件之中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值