【问题标题】:Write to file at line position from DataFrame从 DataFrame 的行位置写入文件
【发布时间】:2022-11-25 05:40:51
【问题描述】:

我的公司要求我使用以下输出布局说明创建并写入文本文件:

Record Character Length Type Position on File
Record-Type 1 Num 1
ID 12 Char 2-13
Surname 12 Char 14-25
FirstName 7 Char 26-32
Middle Initial 1 Char 33
Gender 1 Char 34
Birth Date 8 Num 35-42

我在 DataFrame 上创建了它,我想通过将列连接成单行来将它传输到文件中。既然我已经用 Pandas 编写了代码,我该如何继续:

df['Record type']=df['Record type'].str.ljust(1, " ")
df['ID']=df['ID'].str.rjust(13, ' ')
df['SURNAME']=df['SURNAME'].str.ljust(12, ' ')
df['FIRSTNAME']=df['FIRSTNAME'].str.ljust(7, ' ')
df['MIDDLEINITIAL']=df['MIDDLEINITIAL'].str.rjust(1, " ").replace(np.nan, ' ')
df['GENDER']=df['GENDER'].str.rjust(1, ' ')
df['BIRTHDATE']=df['BIRTHDATE'].str.rjust(8, "0")

我创建了一个数据框来保存数据并在划桨时将其作为单列移入文本文件。

df["report"] = df["Record type"].astype(str) + df["ID"].astype(str) + df['SURNAME'].astype(str) + df['FIRSTNAME'].astype(str) + df['MIDDLEINITIAL']+ df['GENDER'].astype(str) + df['BIRTHDATE'].astype(str)

【问题讨论】:

  • 你是什​​么意思“划桨时”?你可以试试np.savetxt("file.txt", df.values, fmt="%s", delimiter="")。或者通过 string = "\n".join(df.apply("".join, axis=1)) 构建一个字符串并将其写入文件。

标签: python pandas


【解决方案1】:

有些列有更多的字符,有些更少,我需要添加空格以在文件中对齐它们。例子:

罗斯·马库斯 12/12/2022 黑武 12/13/2022

我的问题是从数据帧写入文件并保持格式完整

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    • 2022-11-30
    相关资源
    最近更新 更多