文件下的所有文本内容转为一个csv文件代码

本文介绍了一种使用Python批量将TXT文件转换为CSV格式的方法,包括文件名规范化、数据读取及写入过程,适用于数据预处理场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在数据测试时,需要把一个文件下的无数个txt一个一个的转为csv文件中一个单元格的元素,如果手动转所需工作量太大,所以选择用代码来解决。

因为我做这个文件转换时 文件名是下面这种类型:

首先批量修改文件名我需要将这些文本文件的数据排序输入csv文件中,所以我先把_后面的数字去掉,但我发现它排序是用string来排序的,这样排序结果回事1,10,100,1000.....和我所要求的不同,所以在不满五位数之前添0,变为00001,00002....即可。

改变后的文件名。

import os
pos_name = os.listdir('neg')
for temp in pos_name:
    i,j = temp.split('_')
    if len(i) < 5:
         num = 5 - len(i)
         i = num * '0' + i
    new_name = i+'.txt'
    print(new_name)
    os.rename('neg/'+temp,'neg/'+new_name)

接下来把文件读入并写入。

wr()函数是用来将数据写入csv的,mode=‘a+’就是往csv中添加元素。header是指定列名。

import pandas as pd
import os
import codecs
def wr(path):
    data=codecs.open(path,encoding='utf-8')
    data2 = pd.DataFrame(data)
    data2.to_csv('test.csv', index=False, mode='a+', header=False)
    data.close()

path1 = 'pos'  # 指定需要读取文件的目录
files = os.listdir(path1)  # 采用listdir来读取所有文件
files.sort()  # 排序
for file_ in files:  # 循环读取每个文件名
    if not os.path.isdir(path1 + file_):  # 判断该文件是否是一个文件夹
        f_name = str(file_)
        path = r'pos\{0}'.format(f_name)
        print(path)
        wr(path)

这样就能的到想要的csv文件了,但是在csv中查看时会出现编码错误,我暂时没有找到解决办法,不过在PyCharm中并没有出错。

### 方法一:使用 Linux 命令 `awk` 转换文本文件CSV 格式 在 Linux 环境下,可以使用 `awk` 命令将文本文件转换为 CSV 格式。假设输入文件中的字段是以空格或制表符分隔的,以下命令可以完成转换: ```bash awk 'BEGIN { OFS="," } { print $1, $2, $3 }' input.txt > output.csv ``` 此命令通过设置输出字段分隔符(OFS)为逗号,并打印每行的前三个字段,生成一个符合 CSV 格式的文件[^1]。 ### 方法二:使用 R 语言进行文本到 CSV 的转换 R 语言提供强大的字符串处理文件操作功能,适用于将普通文本文件转换为 CSV 格式。以下是具体实现代码: ```r # 读取文本文件 text_data <- readLines("input.txt", encoding = "UTF-8") # 按制表符分割每行数据 split_lines <- strsplit(text_data, "\t") # 将分割后的数据保存为 CSV 文件 write.csv(do.call(rbind, split_lines), file = "output.csv", row.names = FALSE) ``` 上述代码首先读取文本文件内容,然后按制表符分割每一行数据,最后将结果写入到 CSV 文件中[^2]。 ### 方法三:使用 LabVIEW 转换 TXT 文本为 CSV 格式 LabVIEW 是一种图形化编程工具,能够轻松实现文本文件CSV 格式的转换。其核心思想是将制表符替换为逗号,以确保数据在 Excel 中正确显示为多列。这种方法特别适合需要可视化编程环境的用户[^3]。 ### 方法四:在线工具转换 JSON 文件CSV 格式 如果用户的文本文件实际上是 JSON 格式,可以利用在线工具将其转换为 CSV 格式。例如,某些在线平台支持上传 JSON 文件并自动生成对应的 CSV 文件。这种方法无需安装任何软件,非常适合初学者使用[^4]。 ### 注意事项 - 如果文本文件的分隔符不是制表符或空格,而是其他字符(如逗号、竖线等),需要根据实际情况调整分隔符。 - 在处理大数据文件时,建议优先考虑脚本语言(如 Python 或 R)以提高效率。 - 对于非标准格式的文本文件,可能需要额外的数据清洗步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值