我正在尝试为更大的项目打开、转换、操作和保存测试 CSV 文件。到目前为止,我已经打开了文件,将其转换为列表并对其进行了操作。但我无法将其保存为格式正确的 CSV 文件。
目前,它保存了,但每列的分隔符似乎' '
出于某种未知原因。我的数据集基于已售房价/位置/日期,因此每当时间(数据和时间之间)和位置(街道名称、城镇等之间)出现中断时,我都会得到一个新列,而所有其他没有任何空格的数据(价格、身份证号等)都放在同一列中,搞砸了我的数据。
另一方面,由于某些奇怪的原因,我的 csv 文件在每行之间保留了几行空行。我不知道是怎么回事。
这是代码中有问题的部分:
def write_new_file(lst, new_file):
'''(lst)->.CSV file
Takes a list and writes it into a .CSV file.
'''
writer = csv.writer(new_file, delimiter=',')
writer.writerows(lst)
new_file.close()
这是我在 shell 中的输出:
>>> doc[0]
['{AACDC187-2E3E-4705-BCF3-0001C4187ADD},', '208000,', '28/06/2013 00:00,', 'AL23HX,', 'F,', 'N,', 'L,', '17,', ',', 'TENNYSON ROAD,', ',', 'ST ALBANS,', 'ST ALBANS,', 'HERTFORDSHIRE,']
任何帮助表示赞赏!
编辑:我已经编程了几个星期了,如果我是个白痴,我很抱歉!
编辑4:
我已经更改了我的代码以使用 csv.reader 函数,它工作得很好并且使它的程序更小了。现在看起来像这样:
#create an empty variable
doc= []
with open(file2, 'r') as f:
reader = csv.reader(f, delimiter=',')
for row in reader:
doc.append(row)
这是我的外壳输出:
>>> doc[0]
['{AACDC187-2E3E-4705-BCF3-0001C4187ADD}', '208000', '28/06/2013 00:00', 'AL2 3HX', 'F', 'N', 'L', '17', '', 'TENNYSON ROAD', '', 'ST ALBANS', 'ST ALBANS', 'HERTFORDSHIRE', 'A']
但是我的 CSV 输出是相同的,列是根据字符串中的空格而不是根据分隔列表项的逗号分隔的。并且行之间仍然有一个空行。
我的写作功能没有改变。
最终编辑:解决!calc 最终搞砸了,而不是 Python。