怎么用python读取txt文件里指定行的内容,并导入excel

 我来答
dzb3688
2017-12-20 · TA获得超过663个赞
知道答主
回答量:62
采纳率:94%
帮助的人:26.5万
展开全部

举个简单的例子,我这里有一个txt文件,文件中每一个row包含的是用户名和用户的身高,我们这里需要获取特定的行内容,比如身高大于170cm的内容,写入excel中。

data.txt

张三    172cm
李四    183cm
王五    166cm
赵六    159cm

孙乐乐   185cm
周熊熊   169cm
苏鹏鹏   176cm
吴刚刚   191cm
韩轩轩   172cm

sheet.py

'''
获取文件信息
'''
fi = open("data.txt")
lines = fi.readlines()
# 读取身高大于170cm
data = []
for human in lines:
    hinfo = human.split()
    if hinfo:
        if int(hinfo[1][:3]) >= 170:
            data.append(tuple(hinfo))

'''
写入excel
'''
import xlwt

# 创建workbook和sheet对象
workbook = xlwt.Workbook()  # Workbook的开头W 大写
sheet1 = workbook.add_sheet('sheet1', cell_overwrite_ok=True)
# 向sheet页中写入数据
sheet1.write(0, 0, '姓名')
sheet1.write(0, 1, '身高cm')
row = 1
for i in data:
    sheet1.write(row, 0, i[0])  # i0 姓名
    sheet1.write(row, 1, i[1])  # i1 身高
    row += 1

workbook.save('c.xlsx')  # 写入excel

执行sheet.py 后,打开同级目录下的c.xlsx

就烦条0o
2018-07-31 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
如果文件不大,建议使用下面的方法。由于linecache会缓存,所以对大文件可以使用自己简单是实现getline如下:
def getline(thefilepath, desired_line_number):
if desired_line_number < 1: return ''
for current_line_number, line in enumerate(open(thefilepath, 'rU')):
if current_line_number == desired_line_number - 1 : return line
return ''
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式