m0_61104322 2024-06-19 18:04 采纳率: 90%
浏览 0
已结题

txt文件转CSV文件

之前写了代码转了一下,发现里面的column弄的很乱。麻烦请专家帮忙一下!谢谢!

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-19 18:04
    关注

    引自免费微信小程序:皆我百晓生

    要将TXT文件转换为CSV格式,并确保列正确对齐,首先需要了解TXT文件的数据结构,例如分隔符、列的数量等。下面是一个Python脚本示例,它读取一个使用制表符(tab)或空格分隔的TXT文件,并将其转换为CSV格式。

    import csv
    
    def txt_to_csv(txt_file, csv_file):
        # 打开TXT文件
        with open(txt_file, 'r', encoding='utf-8') as file:
            lines = file.readlines()
    
        # 确定分隔符
        delimiter = '\t'  # 假设数据是制表符分隔的,可以根据实际情况调整
    
        # 创建CSV文件
        with open(csv_file, 'w', newline='', encoding='utf-8') as csvfile:
            writer = csv.writer(csvfile)
    
            for line in lines:
                # 使用分隔符分割行
                row = line.strip().split(delimiter)
                # 写入CSV文件
                writer.writerow(row)
    
    # 调用函数,指定TXT和CSV文件路径
    txt_to_csv('input.txt', 'output.csv')
    

    这段代码假设输入的TXT文件每一行的列都是通过制表符分隔的。如果列是通过其他字符分隔的,例如逗号或空格,只需将delimiter变量中的\t替换为相应的分隔符即可。

    如果TXT文件的每一行列数不固定,你可能需要在将行写入CSV之前进行一些额外的清理工作,比如填充缺失的列或删除多余的列。这可以通过在writerow调用之前添加条件逻辑来实现。

    此外,如果TXT文件非常大,你可能想要逐行处理而不是一次性读取所有行到内存中,这可以通过修改lines = file.readlines()为循环读取每行并立即处理来实现。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月27日
  • 已采纳回答 6月19日
  • 创建了问题 6月19日

悬赏问题

  • ¥20 Wpf Datarid单元格闪烁效果的实现
  • ¥15 图像分割、图像边缘提取
  • ¥15 sqlserver执行存储过程报错
  • ¥100 nuxt、uniapp、ruoyi-vue 相关发布问题
  • ¥15 浮窗和全屏应用同时存在,全屏应用输入法无法弹出
  • ¥100 matlab2009 32位一直初始化
  • ¥15 Expected type 'str | PathLike[str]…… bytes' instead
  • ¥15 三极管电路求解,已知电阻电压和三级关放大倍数
  • ¥15 ADS时域 连续相位观察方法
  • ¥15 Opencv配置出错