python:如何在csv文件中的一行中变换多个字符串

时间:2017-03-30 17:28:34

标签: python csv

我有多个变量,我需要在CSV文件中编写它们,但是CSV读取序列,因此它将每个字符写入一行,我需要一行中的所有变量,它们之间有空格分隔  例如,如果我有这些变量:

pdate=30/03/2017 
ptime=17:17:30 
outlet1= 12345
outlet2=6789

所以我想要这样的CSV:

30/03/2017   17:17:30    12345    6789

如果我得到更多数据,它会将它们写在下一行,如:

30/03/2017   17:17:30    12345    6789
30/03/2017   17:19:10    34354    4335

我设法通过将每个变量转换为一个列表中的索引并使用“zip”将所有列表写入一行,但我想看看是否还有其他方法可以做到这一点? 这是我的代码

    outlet1.append(12345)
    outlet2.append(6789)
    pdate.append("30/03.2017")
    ptime.append("17:17:30")
    with open('file.csv','a') as f:
            writer = csv.writer(f,delimiter=' ');
            writer.writerows(zip(pdate,ptime,outlet1,outlet2))
        f.close()

1 个答案:

答案 0 :(得分:2)

因为您正在压缩字符串。迭代字符串时,迭代各个字符。只需使用@media #{$small-only} { .small-bottom-margin-sm { margin-bottom: $margin; }} @media #{$medium-only} { .small-bottom-margin-md { margin-bottom: $margin; }} @media #{$large-only} { .small-bottom-margin-lg { margin-bottom: $margin; }} @media #{$small-up} { .small-bottom-margin-sm-up { margin-bottom: $margin; }} @media #{$medium-up} { .small-bottom-margin-md-up { margin-bottom: $margin; }} @media #{$large-up} { .small-bottom-margin-lg-up { margin-bottom: $margin; }} @media #{$medium-down} { .small-bottom-margin-sm-mp { margin-bottom: $margin; }}

即可

注意,它是writer.writerow([pdate, ptime, outlet1, outlet2])而不是writer.writerow