找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3946|回复: 6

[求助] 大神们帮忙看一下代码,关于把excel数据写入txt

2

主题

2

帖子

2

积分

贫民

积分
2
gsh7198 发表于 2017-12-27 19:52:32 | 显示全部楼层 |阅读模式
1威望
有个数据表是这样的,D列编号从1-147,每个编号都对应着上百组数据。我想把这1-147组数据分别筛选出来,然后写入txt文本,每个txt的文件名就用编号命名,最后得到147个txt文件。我的代码是这样的:
import xlrd
data=xlrd.open_workbook(r'C:\Users\lenovo\Desktop\练习.xlsx')   #打开表格
sheet=data.sheet_by_index(0)   #读取数据
nrows=sheet.nrows              #获取行数
for n in range(1,148):
    for m in range(nrows):
        cell_value=sheet.cell(m,3).value
        if cell_value==n:
            row_value=sheet.row_values(m)
            file_name = str(n) + '.txt'
file = open(file_name, 'w')
            file.write(str(row_value)+'\n')
            break
但是最后得出来的数据是每个编号只得到了它在excel里对应的第一行数据,其他数据都没写进txt。希望大家帮忙看一下哪里不对。另外输出的这些txt里数据是列表形式的,我希望得到的是字符串,也就是不要那些方括号[]

回复

使用道具 举报

0

主题

6

帖子

6

积分

贫民

积分
6
winnow 发表于 2017-12-29 22:49:19 | 显示全部楼层
你的文件不应该用w模式打开,应该用a
回复

使用道具 举报

0

主题

13

帖子

13

积分

贫民

积分
13
lhdnb 发表于 2018-1-8 13:42:53 | 显示全部楼层
用pandas啊  添加到一起 然后直接to_csv('filename.txt')
回复

使用道具 举报

3

主题

19

帖子

19

积分

贫民

积分
19
wxl3322335 发表于 2018-1-9 13:26:41 | 显示全部楼层
python 处理数据 要用pandas,必须的,方便快捷,读取,合并,然后直接to_csv
回复

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
qqq641106 发表于 2018-1-11 11:18:14 | 显示全部楼层
你把你的数据是什么样贴出来 这样子想象不粗来
不要[ ] :
for _ in row_value:
    file.write(str(_))
file.write('\n')
回复

使用道具 举报

3

主题

19

帖子

19

积分

贫民

积分
19
wxl3322335 发表于 2018-1-15 19:07:44 | 显示全部楼层
C:\Users\Administrator\Desktop
回复

使用道具 举报

3

主题

19

帖子

19

积分

贫民

积分
19
wxl3322335 发表于 2018-1-15 19:11:15 | 显示全部楼层
import pandas as pd
df=pd.read_excel(r'C:\Users\Administrator\Desktop\练习.xlsx')
for x, y in df.iterrows():
    df[df['D']==y[-1]].to_csv('C:\\Users\\Administrator\\Desktop\\a\\'+str(y[-1])+'.txt')
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表