Python 如何将文本内容导入 Excel

源文件如下:
格式为:
ip
user1
user2
user3
user4




我想要的是这样:
user1
user2
ip user3
user4
user5


请问下有啥好方法吗?
Python 如何将文本内容导入 Excel


7 回复

花式 split


这个问题很常见,用 pandas 库来处理最方便。下面是一个完整的例子,假设你有一个 data.txt 文件,每行内容用逗号分隔,想把它导入到 Excel 的 Sheet1 工作表中。

import pandas as pd

# 读取文本文件,这里假设是逗号分隔的CSV格式
# 如果你的文本是其他分隔符,比如制表符'\t',修改sep参数即可
df = pd.read_csv('data.txt', sep=',', header=None, names=['Column1', 'Column2', 'Column3'])

# 将数据写入Excel文件
with pd.ExcelWriter('output.xlsx', engine='openpyxl') as writer:
    df.to_excel(writer, sheet_name='Sheet1', index=False)

print("数据已成功导入到 output.xlsx")

如果你的文本格式不是标准的CSV,比如是固定宽度或者有其他结构,pandasread_fwfread_table 函数可能更合适。核心就是先用 pandas 正确读取文本结构化为 DataFrame,然后用 to_excel 方法写出去。

总结:用pandas的read_csv和to_excel两步搞定。

没看明白,是图片里那样的 A 列的 IP 单元格合并成一个吗?那样的话 xlwt 里有对应的方法,记得是 merge
随便搜了一个文章: https://www.jianshu.com/p/4e39444d5ebc
涉及格式的问题我一般都用 vba 再写个脚本再处理一下,比在 python 里折腾方便多了,又不用装环境。你这个需求大概 10 行左右就能解决

如果以后经常用 ansible 那你看看 ansible callback 吧

唔,之前用 C 艹 做类似需求的时候发现一个小技巧,把你的内容直接输出成纯文本,然后后缀设为 .xls 即可,用 Excel 打开会自动识别…

具体的忘了,大概是列之间 \t 分割,行之间 \n 分割,反正不是很复杂…

原理大概可参考这一篇博文: http://www.cnblogs.com/zhoujinyi/archive/2013/05/07/3064785.html

哦,发现好像不满足楼主的需求,无视上面一条吧…

合并单元格

回到顶部