2016-11-24 786 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