Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas 熊猫读取\u sql\u查询->;把绳子系起来。删除列之间的空格(FWF)_Pandas_Pandasql - Fatal编程技术网

Pandas 熊猫读取\u sql\u查询->;把绳子系起来。删除列之间的空格(FWF)

Pandas 熊猫读取\u sql\u查询->;把绳子系起来。删除列之间的空格(FWF),pandas,pandasql,Pandas,Pandasql,我正在尝试在Pandas中创建固定宽度的文件输出。使用pandas dataFrames_字符串时,所有数据都有一个“空白”分隔值。如何删除数据列之间的空白 sql = """SELECT FIELD_1, FIELD_2, ......... FROM VIEW""" db_connection_string = "your

我正在尝试在Pandas中创建固定宽度的文件输出。使用pandas dataFrames_字符串时,所有数据都有一个“空白”分隔值。如何删除数据列之间的空白

    sql = """SELECT 
                FIELD_1,
                FIELD_2,
                .........
            FROM 
                VIEW"""
    db_connection_string = "your connection string"                                                                          
    df = pd.read_sql_query(sql=sql, con=db_connection_string)
    df['field_1'] = df['field_1'].str.pad(width=10, side='right', fillchar='-')
    df['field_2'] = df['field_2'].str.pad(width=10, side='right', fillchar='-')
    print(df.to_string(header=False, index=False)
我期望:

field1----field2----
我得到的是:

 field1---- field2----

请注意列之间的空格。这就是我试图消除的。字段应该彼此对齐,并且没有空格分隔符。

我认为问题在于
添加默认分隔符。可能的解决方案是将所有列连接在一起:

print(df.astype(str).apply(''.join, 1).to_string(header=False, index=False))
 field1----field_2---
或仅某些列:

print ((df['field_1'] + df['field_2']).to_string(header=False, index=False)))

我认为问题在于
添加默认分隔符。可能的解决方案是将所有列连接在一起:

print(df.astype(str).apply(''.join, 1).to_string(header=False, index=False))
 field1----field_2---
或仅某些列:

print ((df['field_1'] + df['field_2']).to_string(header=False, index=False)))

下面的代码将我的预期结果打印到一个文件中。希望你的弦也能做同样的事
f=open(“test.txt”,“w”)用于索引,数据中的行。iterrows():f.write(行['field_1'])f.write(行['field_2']+“\n”)f.close()
下面的代码将我的预期结果打印到一个文件中。希望你的弦也能做同样的事
f=open(“test.txt”,“w”)表示索引,数据中的行。iterrows():f.write(行['field_1'])f.write(行['field_2']+“\n”)f.close()
所以我以field_1,field_2为例,总共有10个字段。当我现在修改你的建议时,我得到的结果如下:field1---field2---。。。末尾的三个点是新的,现在其他字段在那之后出现了?谢谢你迄今为止的帮助<代码>打印(df.astype(str).apply(''.join,1).to_字符串(header=False,index=False))
不工作?如果需要写入文件
df.astype(str).apply(''.join,1).to_csv(filename,header=False,index=False)
using to_csv正确写入所有字段/值,但每行以双引号开始,以双引号结束!熊猫们真的需要一个来庆祝一下,哈哈。越来越近了!所以我以字段1,字段2为例,总共有10个字段。当我现在修改你的建议时,我得到的结果如下:field1---field2---。。。末尾的三个点是新的,现在其他字段在那之后出现了?谢谢你迄今为止的帮助<代码>打印(df.astype(str).apply(''.join,1).to_字符串(header=False,index=False))
不工作?如果需要写入文件
df.astype(str).apply(''.join,1).to_csv(filename,header=False,index=False)
using to_csv正确写入所有字段/值,但每行以双引号开始,以双引号结束!熊猫们真的需要一个来庆祝一下,哈哈。越来越近了!