使用 Python 程序批量处理多了个 ^M

本文介绍了在Windows与Linux之间进行文件转换时遇到的换行符问题。由于Windows使用 作为换行符,而Linux仅使用 ,这导致文件在Linux环境下显示异常。为了解决这个问题,你可以使用`dos2unix`工具进行转换,或者通过Python脚本批量处理。此外,还提供了一个使用`sed`命令的替代方法来修改文件中的换行符。
摘要由CSDN通过智能技术生成

1. 背景:

我们编写程序有时候 windows 上写代码,有时候 linux 上写代码;但是 win 下的文件 copy 到 linux 行末总是多了个 ^M,

2. 原因:

其实是因为 win 与 linux 下的文本文件换行符不同,Linux 下换行符是 \n,而 Windows 下换行符是 \r\n。
所以从 windows 上转到 linux 的文件用 VIM 打开的话 VIM 无法识别换行符,所以需要转换。

3. 工具:

使用工具 doc2unix 可以实现转换
$ sudo apt install dos2unix
$ dos2unix file_to_convert

4. python 批量的转换

import os

if __name__ == '__main__':

    begin_time = time.time()

    dir = r'/home/f'
    files = find_files_with_suffix(dir, target_suffix='py')
    for item in files:
        os.system("dos2unix {}".format(item))
        print(item)
    print('cost time: {} s'.format(time.time() - begin_time))

其中,find_files_with_suffix 方法,可以在我的 python 使用 walk 搜索文件 中找到;

5. 其它的方式:

sed 's/\r//' filename -i
如果需要批量实现将Excel表格中的数据转移到Word文档中,可以使用Python编程语言来实现。首先,需要使用Python的第三方库openpyxl和python-docx来处理Excel和Word文件。 第一步是导入需要的库,如下所示: ``` import openpyxl import docx from docx.shared import Inches ``` 第二步是打开Excel表格文件并获取工作簿对象和表格数据。这里假设数据位于第一个工作表,表格结构如下: | Name | Age | Gender | |------|-----|--------| | Tom | 22 | M | | June | 25 | F | | Jack | 30 | M | 将数据存储在一个变量data中: ``` workbook = openpyxl.load_workbook('data.xlsx') worksheet = workbook.active data = [] for row in worksheet.iter_rows(min_row=2, values_only=True): data.append(row) ``` 第三步是打开Word文档模板并准备替换变量。这里使用python-docx库,可以先创建一个新的Word文档,然后复制模板文档中需要的部分,并使用docx段落和表格函数中的`_element`属性来实现替换。 模板文档结构如下: ``` Dear ${Name}, Happy birthday! You are ${Age} years old now. We hope you have a wonderful birthday celebration. Best regards, The Birthday Team ``` 将模板文档存储在一个变量template中,并在代码中实现替换部分: ``` document = docx.Document() template = docx.Document('template.docx') for para in template.paragraphs: text = para.text.replace('${Name}', data[i][0]) text = text.replace('${Age}', str(data[i][1])) document.add_paragraph(text) document.save('birthday_letters.docx') ``` 最后,Python程序会自动生成一个新的Word文档,其中包含了Excel表格中所有的数据。这个程序可以用于生成复量的文件,例如生产某些文件,或者写批量邮件。 以上是使用Python批量把Excel中的内容换入Word中的一个简单示例,可以根据实际需要对代码进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值