【问题标题】:Export multiple dataframe to different csv in python在python中将多个数据框导出到不同的csv
【发布时间】:2022-01-03 07:26:58
【问题描述】:

我有这个代码:

import pandas as pd
import os
ext = ('.tsv')
for files in os.listdir(os.getcwd()):
  if files.endswith(ext):
    x = pd.read_table(files, sep='\t', usecols=['#Chrom','Pos','RawScore','PHRED'])
    x.drop_duplicates(subset ="Pos",keep = False, inplace = True)
    data_frame=x.head()
    print(data_frame)

       #Chrom        Pos  RawScore  PHRED
77171       6  167709702  7.852318   39.0
19180       6   31124849  7.623789   38.0
15823       6   29407955  6.982213   37.0
19182       6   31125257  6.817868   36.0
19974       6   31544591  6.201438   35.0
       #Chrom        Pos  RawScore  PHRED
52445       9  139634495  6.950686   36.0
46470       9  125391241  5.477094   34.0
49866       9  134385435  4.841222   33.0
48642       9  131475583  4.357986   31.0
40099       9  113233652  4.284035   31.0
       #Chrom        Pos  RawScore  PHRED
7050       13   32972626  6.472542   36.0
32416      13  100518634  5.405765   33.0
10834      13   42465713  4.406294   32.0
9963       13   39422624  4.374808   31.0
22993      13   76395620  4.193058   29.4

您可以想象,我得到了多个具有相同列名但来自不同染色体的数据框。 如何在不同的 csv 文件中获取多个数据帧?

【问题讨论】:

  • 您希望在 what 文件中包含哪些 数据帧?请在问题中详细说明。
  • 最后我想要一个包含 Chrm 9 的所有数据的 csv 文件,然后是另一个包含 Chrm 13 的所有数据的文件......等等。

标签: python pandas dataframe csv


【解决方案1】:

您可以使用 pandas 的 pandas.DataFrame.to_csv (https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html) 将数据帧保存为 .csv。 更具体地说,在您的情况下,您可以这样做:

    for files in os.listdir(os.getcwd()):
        if files.endswith(ext):
            x = pd.read_table(files, sep='\t', usecols= 
            ['#Chrom','Pos','RawScore','PHRED'])
            x.drop_duplicates(subset ="Pos",keep = False, inplace = True)
            x.to_csv(f'Chrom{x.iloc[0,0]}.csv')

在这里,x.iloc[0,0] 将采用第一列的第一个元素,即#Chrom。您也可以手动执行此操作。请注意,如果您想拥有两个具有相同#Chromosome 的不同 DataFrame,此方法将不起作用。在这种情况下,您必须手动输入 csv 文件的名称。

【讨论】:

    猜你喜欢
    • 2017-10-06
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    相关资源
    最近更新 更多