【问题标题】:Why it writes in a 7 rows since i want it 7 columns为什么它写成 7 行,因为我想要它 7 列
【发布时间】:2019-10-25 01:23:58
【问题描述】:

读取文件并选择特定的行和列并将其写入 csv 文件。 为什么它是 7 行,因为我想要它 7 列

data = pd.read_csv(r'dataset.csv', low_memory=False, header = None, sep = ',') 
a = data.loc[478:749, 1] 
b= data.loc[478:749, 8 ]
c= data.loc[478:749, 15 ]
d= data.loc[478:749, 22 ]
e= data.loc[478:749, 29 ]
f= data.loc[478:749, 36 ]
g= data.loc[478:749, 43 ]

x= []
x.append(a)
x.append(b)
x.append(c)
x.append(d)
x.append(e)
x.append(f)
x.append(g)

data = pd.DataFrame(x)
data = data.to_csv('summary.csv', index = False, header = None, sep = ',',quotechar =';',  encoding = 'utf8')

这是写入摘要文件时的结果

【问题讨论】:

  • 您的问题已经得到解答,但这里有另一种可能对您有用的方法:data_subset = data[478:749][[1,8 15, 22, 29, 36, 43]]

标签: python pandas dataframe export-to-csv


【解决方案1】:

您将列选择为系列,然后将每个系列附加到列表中,从而转置行和列。

您可以将追加更新为更复杂一点,按列添加数据,或者您可以使用 DataFrame 的 .T 属性来获取转置。这将为您提供您所期望的列。

例如data = pd.DataFrame(x).T

【讨论】:

    【解决方案2】:

    答案是

    data = pd.read_csv(r'dataset.csv', low_memory=False, header = None, sep = ',') 
    a = data.loc[478:749, 1] 
    b= data.loc[478:749, 8 ]
    c= data.loc[478:749, 15 ]
    d= data.loc[478:749, 22 ]
    e= data.loc[478:749, 29 ]
    f= data.loc[478:749, 36 ]
    g= data.loc[478:749, 43 ]
    
    x= []
    x.append(a)
    x.append(b)
    x.append(c)
    x.append(d)
    x.append(e)
    x.append(f)
    x.append(g)
    
    data = pd.DataFrame(x).T
    data = data.to_csv('summary.csv', index = False, header = None, sep = ',',quotechar =';',  encoding = 'utf8')
    

    结果应该是 7 列

    【讨论】:

      猜你喜欢
      • 2022-08-20
      • 1970-01-01
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 2013-07-22
      • 2010-12-08
      • 2015-09-19
      • 2010-12-07
      相关资源
      最近更新 更多