CSV文件,使用熊猫文字到列

时间:2018-12-06 12:11:25

标签: python pandas csv

def Text2Col(df_File):
    for i in range(0,len(df_File)):  
        with open(df_File.iloc[i]['Input']) as inf:
            with open(df_File.iloc[i]['Output'], 'w') as outf:
                i=0
                for line in inf:
                    i=i+1
                    if i==2 or i==3:
                        continue
                    outf.write(','.join(line.split(';')))

以上代码用于将csv文件从文本转换为列。 这段代码使所有值变成字符串(因为split()),这对我来说是有问题的。 我尝试使用地图功能,但无法成功。

还有其他方法可以做到这一点。

我的输入文件有5列,第一列是字符串,第二列是int,其余都是浮点数。

我认为需要在最后一个声明中进行一些修改

  outf.write(','.join(line.split(';')))

请让我知道是否需要其他输入。

2 个答案:

答案 0 :(得分:1)

好的,尝试在这里提供帮助。如果这不起作用,请在您的问题中指定您丢失了什么或需要做的其他事情:

使用熊猫来read in a csv file

import pandas as pd
df = pd.read_csv('your_file.csv')

如果第一行有标题,请使用:

import pandas as pd
df = pd.read_csv('your_file.csv', header=0)

如果您使用制表符定界符而不是逗号定界符,请使用:

import pandas as pd
df = pd.read_csv('your_file.csv', header=0, sep='\t')

答案 1 :(得分:0)

谢谢!

以下代码有效:

def Text2Col(df_File):
    for i in range(0,len(df_File)):  
        df = pd.read_csv(df_File.iloc[i]['Input'],sep=';')
        df = df[df.index != 0]
        df= df[df.index != 1]
        df.to_csv(df_File.iloc[i]['Output']) 



File_List="File_List.csv"
df_File=pd.read_csv(File_List)
Text2Col(df_File)

输入文件以File_List.xls中提到的相同名称保存在同一文件夹中 输出文件将在同一文件夹中创建,并以列分隔。我删除了第0行和第1行以供使用。一个人可以根据自己的要求跳过或添加。 在上面的代码中df_file是数据帧,包含两列列表,第一列是输入文件名,第二列是输出文件名。