簡體   English   中英

python csv換行

[英]python csv new line

iam使用此代碼將db表轉換為csv文件,正在將其轉換為csv,但使用雙引號代替了新的行/行breck,有人可以幫我嗎

import MySQLdb
import csv
conn = MySQLdb.connect(user='root',  db='users', host='localhost')
cursor = conn.cursor()
cursor.execute('SELECT * FROM users.newusers')
ver = cursor.fetchall()
ver1 = []
for ve in ver:
    ve = str(ve).replace("', '","|").replace(", '","|").replace(","," ").replace("  "," ").replace("|",",")
    ver1.append(ve)
print ver1
csv_file = open('filename', 'wb')
writer = csv.writer(csv_file)
writer.writerow(ver1)       csv_file.close()                                                                                

電流輸出

"(114L,New,9180971675,Ravi Raju,RAJRAVI,National,#N.A,No,No,No,#N.A,OS40,005056BB0803,192.168.0.1,no,yes')","(115L,New,9180971676,Rajendran Mohan,rajemoh,National,#N.A,No,No,No,#N.A,OS40,005056BB0803,192.168.10.10,no,yes')"

預期出來

 114L,New,9180971675,Ravi Raju,RAJRAVI,National,#N.A,No,No,No,#N.A,OS40,005056BB0803,192.168.0.1,no,yes


 115L,New,9180971676,Rajendran Mohan,rajemoh,National,#N.A,No,No,No,#N.A,OS40,005056BB0803,192.168.10.10,no,yes

SQL查詢將從fetchall()的元組列表中返回結果。 在當前方法中,您遍歷此列表,但在每個元組上調用str() ,從而將整個元組轉換為其字符串表示形式。

相反,您可以在每個元組上使用列表推導,既可以將其轉換為嵌套列表格式,也可以應用replace()操作。

for ve in ver:
    ver1.append([str(item).replace(<something>) for item in ve])

在最后一步中,您將使用csv.writerow() ,該csv.writerow()設計用於for循環。 如果您的列表以[[row1], [row2]]的形式嵌套,則可以將其更改為writerow s 此外,它使用上下文管理最佳實踐with處理文件,一旦操作完成,這將自動關閉文件。

with open('filename.csv', 'wb') as csv_file:
     writer = csv.writer(csv_file)
     writer.writerows(ver1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM