2016-11-24 788 views
1

我只是问一些〜我想做词云。所以我使用pymysql从mysql中提取数据。我的脚本像下面将DataFrame中的内容转换为txt文件

import sys 
import pymysql 
import pandas as pd 
conn = pymysql.connect(host='localhost', user='root', password='secret', 
        db='first_day', charset='utf8') 
curs = conn.cursor(pymysql.cursors.DictCursor) 
sql = "select * from first_day_datas" 
curs.execute(sql) 
rows = curs.fetchall() 
df = pd.DataFrame(rows) 
print(df.head()) 
df = df[pd.notnull(df['longitude'])] 
print(df.head()) 

,并像下面的图片 enter image description here

我alreay摆脱了在不包含经度值的行的我的数据状态。 这是我的问题。如何将'blogtext'列转换为.txt文件? 我会使用wordcloud libarary制作wordcloud。

回答

1

假定你想行格式行的每一行

with open('/tmp/data.txt', 'w') as f: 
    for row in map(str, df.head()['blogtext']): 
     f.write(row + "\n") 
+0

谢谢〜我解决了我的问题 – victory

2

我想你需要Series.to_csv,也似乎需要省略第一index列:

df['blogtext'].to_csv('myfile.txt',index=False) 

样品:

df = pd.DataFrame({'blogtext':['a','s','d'], 
        'address':['o','i','r']}) 
print (df) 
    address blogtext 
0  o  a 
1  i  s 
2  r  d 

print (df['blogtext'].to_csv(index=False)) 
a 
s 
d 

print (df['blogtext'].to_csv()) 
0,a 
1,s 
2,d 
+0

谢谢〜我解决了我的问题 – victory