繁体   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