【发布时间】:2016-12-21 13:51:08
【问题描述】:
我有这样的数据。字符串用逗号分隔。
"India1,India2,myIndia "
"Where,Here,Here "
"Here,Where,India,uyete"
"AFD,TTT"
我想要做的是将它们全部放在一列中(彼此下方)所以它会变成这样
India1
India2
myIndia
Where
Here
Here
Here
Where
India
uyete
AFD
TTT
然后我保留导致这个的独特的那些
India1
India2
myIndia
Where
Here
India
uyete
AFD
TTT
所以我有第一个 .txt 格式的数据,我尝试使用 numpy 来处理这个
这是我的代码
#!/usr/bin/python
import numpy as np
# give a name to my data
file_name = 'path to my data/test.txt'
# set my output
with open ( 'output.txt' , 'w' ) as out:
# read all the lines
for n , line in enumerate ( open ( file_name ).readlines ( ) ):
# split each stirg from another one by a comma
item1 = file_name.split ( ',' )
myList = ','.join ( map ( str , item1 ) )
item2 = np.unique ( myList , return_inverse=True )
# save the data into out
out.write ( item2 )
我收到了TypeError: expected a character buffer object
我已经搜索过了,我发现了几个类似的帖子 TypeError: expected a character buffer object - while trying to save integer to textfile
如果我添加了out.seek ( 0 ),我仍然会遇到同样的错误
但是通过将其更改为out.write ( str(item2 )) 感谢TypeError: expected a character buffer object,我没有收到任何错误,但是输出显示了这个
(array(['/文件路径/test.txt'], dtype='|S29'), 数组([0]))
下面给出了我尝试使用的解决方案
import csv
data = []
def remove_quotes(file):
for line in file:
yield line.strip ( '"\n' )
with open ( 'test.txt' ) as f:
reader = csv.reader ( remove_quotes ( f ) )
for row in reader:
data.extend ( row )
没有错误但也没有生成data
【问题讨论】:
-
您可以简单地从文件中读取、拆分并将所有内容放在一个集合中。
-
file_name.split ( ',' )。你期望它做什么? -
@cricket_007 我希望用
comma分割字符串 -
@nik 你为什么要拆分文件名?
标签: python