簡體   English   中英

從csv制作清單時,如何刪除\\ n?

[英]How do I remove \n when making a list from csv?

我要做的就是在每條記錄的末尾列出不帶換行符\\n的屬性列表。

import os, csv

output = os.system('hive -S -e "use precache; select geode from database WHERE geodetype = 17;" > testausnzl.csv')


f = open('testausnzl.txt').read()

print f 

ausnzl_list = open("testausnzl.csv").readlines()

無需重新設計輪子,而使用csv模塊進行讀取:

with open("testausnzl.csv", 'rb') as f:
    ausnzl_list = list(csv.reader(f))

這將刪除換行符並產生行(以逗號分隔)。

除了使用臨時文件名之外,您還可以直接從命令中讀取Python:

import csv
import subprocess

process = subprocess.Popen(
    ['hive', '-S', '-e', 
     '"use precache; select geode from database WHERE geodetype = 17;"'],
    buffer=1, stdout=subprocess.PIPE)
reader = csv.reader(process.stdout)
for row in reader:
    # process each row as you receive it

而不是將所有內容加載到列表中,這里的代碼只是在csv.reader()對象上循環,以處理每一行。 通常,這是一種更好,內存效率更高的方法。

最好的方法是使用Python客戶端連接到配置單元 ,而不使用命令行客戶端。

暫無
暫無

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

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