[英]How do I remove the commas, quotes, and parentheses from an exported python list?
你們對我最后一個新手問題非常有幫助所以我想我會再拍一次。 現在,我的Python 3代碼從CSV文件中獲取數據,將數據存儲為列表,創建該數據的排列,然后將其導出回列格式的新csv文件中。 不幸的是,導出列表的格式並不是我所需要的最佳格式。 我的問題是:如何從python中導出的列表中刪除逗號,括號和括號?
它現在看起來如何:
('你好','世界','如何')
('你好','世界','是')
('你好','如何','世界')
我希望它看起來如何:
你好世界如何
你好世界是
你好世界
這是我正在使用的代碼,有沒有人有任何建議或意見? 我正在努力學習,所以任何額外的見解將不勝感激!
import csv
import itertools
with open('/users/Desktop/pythondata.csv', 'r') as f:
reader = csv.reader(f)
J = []
for row in reader:
J.extend(row)
C = list(itertools.permutations(J, 3))
with open('THISISATEST.csv','w')as f:
writer=csv.writer(f,lineterminator='\n')
for val in C:
writer.writerow([val])`
PS - 請原諒我,如果格式不正確,我是新手!
我建議您只使用join
方法獲取您要查找的單個字符串。 你可以嘗試:
with open('test.csv', 'w') as a_file:
for result in C:
result = ' '.join(result)
a_file.write(result + '\n')
基本上,調用字符串' '
(單個空格)的join
方法將獲取其參數中的每個項目(來自排列的單個結果),並將它們一起添加到單個字符串中,該字符串由第一個字符串(單個字符串)分隔空間)。 該網站提供了一個簡單的說明性示例。
使用語法'[separator]'.join([list of items to join])
調用join
方法,因此如果您只想將所有內容混合成一個沒有空格的字符串,則可以在空字符串上調用它: ''.join([my list])
。
由於您不需要逗號分隔文件(CSV),因此只需使用如圖所示的a_file.write
方法即可簡化操作。 如果您在此代碼中使用CSV編寫器,則每個字母之間都會顯示逗號。
我不知道你是否知道正則表達式,但使用python的' re '模塊應該可以提供你想要的東西:
import re
strs = "('Hello', 'World', 'How')"
#creates list of strings that match the regular expression
words = re.findall(r"\'([A-Za-z]+)\'", strs)
#joins all of the elements of the word array into a string separated by a space
outputString = " ".join(words)
#output is "Hello World How"
print outputString
由於你有元組,有一種更簡單的方法。 您不需要csv
來導出以空格分隔的文件。
import csv
import itertools
with open('pythondata.csv', 'r') as f:
reader = csv.reader(f)
J = []
for row in reader:
J.extend(row)
C = itertools.permutations(J, 3)
with open('THISISATEST.txt','w') as f:
f.write('\n'.join(' '.join(y for y in x) for x in C))
如果還有人在嘗試這個時仍在搜索,(python 3.x)。 我的目標是在單獨的行上列出9位數字的所有可能排列。
line string = ''.join(str(char) for char in line)
是贏家
import sys, itertools
f = open('path to file', 'w') #I was using a .txt file
permutations = (list(itertools.permutations([1,2,3,4,5,6,7,8,9], 9)))
for line in permutations:
string = ''.join(str(char) for char in line)
f.write(string + '\n')
f.close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.