#!c:/users/jon/python
#Python 2.7.6
import csv
from string import maketrans
intab = "()-/"
outtab = " "
tab0 = maketrans(intab, outtab)
plist1 = []
x1 = ''
with open('o:/p1.csv', 'rb') as f1:
csvfile1 = csv.reader(f1)
next(f1)
for row in csvfile1:
row[0] = row[0].translate(tab0).replace(' ','')
row[1] = row[1].translate(tab0).replace(' ','')
x1 = row[0] + '-' + row[1]
plist1.append(x1)
f1.close()
print str(x1)
# prints correctly:
# AAA1111111-BBB2222222
newcsv1 = csv.writer(open('newcsv1.csv', 'wb'))
for row in plist1:
newcsv1.writerow(row)
# creates a csv file that looks like below:
# A,A,A,1,1,1,1,1,1,1,-,B,B,B,2,2,2,2,2,2,2
我希望有人能给我指出正确的方向。。。在
我想创建一个变量,它将行[0]和行[1]之间用“-”连接起来,并创建一个只包含新变量的新csv文件。在
我使用的csv文件如下所示:
^{pr2}$我希望新的csv文件只包含一个单元格/值,如下所示:
AAA1111111-BBB2222222
为了补充Padraic的答案——你正在传递一个字符串,它也是一个iterable。看到这个:
我想你已经从一个简单的问题中做出了一些复杂的代码。以下是我要做的,基于问题,而不是你的代码:
我不熟悉csvfile模块,因此可能有一些改进,但我认为您的代码应该像这样简单,如果不是更简单的话。在
writerow
需要一个iterable,因此iterating overplist1
row是一个字符串,当写入文件时,writer
会迭代并拆分为单个字符。在如果plist是一个包含单个元素的列表,只需使用:
^{pr2}$这将把
AAA1111111-BBB2222222
写入文件。在使用您的代码:
相关问题 更多 >
编程相关推荐