我有一个文本文件,其中每行有多个单词(我想将其视为列)。现在我想读取此文本文件中的所有数据,并创建一个包含行和列的csv文件。我写的代码直到这里 -
import csv
f=open("text.txt", "r")
reader=csv.reader(f)
offile=open("output.csv","wb")
writer=csv.writer(offile,delimiter='\t',quotechar='"',quoting=csv.QUOTE_ALL)
for row in reader:
........
f.close()
offile.close()
我无法理解如何将每行划分为列并在编写csv文件时写回这些列和行?我是python的新手,所以一个很好的例子我会非常感激。
由于
答案 0 :(得分:1)
尝试通过正则表达式分割线条:
line = "Foo bar baz quux"
import re
pieces = re.split("\s+", line)
print pieces
这导致
['Foo', 'bar', 'baz', 'quux']
上面使用的正则表达式匹配多个(+)空格字符(\ s)
答案 1 :(得分:0)
import re
data = open("test.txt").read()
lines_of_data = data.splitlines()
writer=csv.writer(offile,delimiter='\t',quotechar='"',quoting=csv.QUOTE_ALL)
writer.writerows(map(lambda line:re.split("\s\s\s\s+",line.strip()),lines_of_data))
答案 2 :(得分:0)
data = open('test.txt').read()
lines_of_data = data.splitlines()
tmp = []
for i in range(len(lines_of_data)):
tmp.append(lines_of_data[i].split())
data_df = pd.DataFrame(tmp)
data_df.to_csv('test.csv')