标签: fixed-width

如何在perl变量上保留尾随空格?

脚本(最初从此处复制)将固定宽度的文本文件作为输入,重新排列列的顺序,并应输出固定宽度的文本文件.但是尾随空格正在从变量中截断,这意味着输出不是固定宽度.

open(INPUT, "</home/ecom/tmp/citiBIG/GROUP.txt");
open(OUTPUT, ">/home/ecom/tmp/citiBIG/GROUP2.txt");

my $LINEFORMAT = "A2 A7 A14 A4 A2 A2 A4 A12 A25 A30 A26 A40 A40 A40 A25 A4 A12 A14 A2 A8 A12 A70 A8"; # Adjust to your
 field widths

while(<INPUT>) {
    chomp;
    my($Null0, $EmpNum, $CcNumber, $Null1, $CcExpYy, $CcExpMm, $Null2, $Title, $LastName, $FirstName, $HolderName, $Ad
dress1, $Address2, $Address3, $Suburb, $State, $PostCode, $Null3, $AreaCode, $WorkPhone, $Null4, $Email, $GroupName) =
 unpack($LINEFORMAT, $_);

    print OUTPUT $EmpNum . "               " . "~" . $LastName . …
Run Code Online (Sandbox Code Playgroud)

perl file unpack fixed-width

3
推荐指数
1
解决办法
490
查看次数

将报告生成为 txt 文件 - 如何设置列标题和详细信息带中文本的确切位置和大小

我们需要使用JasperReports生成文本报告。
精度要准确,样本格式如下

在此处输入图片说明

  1. 标题用户名必须从第 0 列开始。
  2. 上次访问的标题必须从第 23 列开始。
  3. 标题处于活动状态必须从第 34 列开始。
  4. 行分隔符必须有 8 个字符 (---) 并从第 22 列开始
  5. 名称字段必须左对齐并从第 1 列开始
  6. 点字段必须右对齐并在第 45 列结束,精度为 1 位。

所述的JasperReportsexportToText方法不满足上述标准和反复调整的.jrxml未投放的目的。
我们也调整了字符宽度和字符高度,但行和列之间的间距仍然不正确。

JasperReports API是否支持文本格式的这种精度?
有没有其他 API 可以帮助我们实现这种格式?

java jasper-reports fixed-width

3
推荐指数
1
解决办法
2万
查看次数

将具有固定大小的数组的C ++结构编组到C#中

我有一个这样声明的C#结构:

public struct AdvertisementData {
    public byte SomeId;
    [MarshalAs(UnmanagedType.LPArray , SizeConst = 12)]
    public byte[] AnArray;
  }
Run Code Online (Sandbox Code Playgroud)

与C ++对应:

struct AdvertisementData {
  uint8_t SomeId;
  uint8_t AnArray[12];
};
Run Code Online (Sandbox Code Playgroud)

当我尝试将对上述结构的堆栈分配实例的引用从C ++发送到C#时,我得到:“ Byte []类型的结构字段不能编组为LPArray。” 知道我在做什么错吗?

c# arrays mono marshalling fixed-width

3
推荐指数
1
解决办法
3488
查看次数

Powershell 固定宽度导出

我有一个文本文件,它使用固定宽度来分隔列。

我正在加载文件并创建一个新列,该列连接前两列的值。我遇到的问题是,在导出数据时,我需要为 C 列定义固定的列宽 13。

Column A (3)   Column B(9)   Column C(13)
MMA            12345         12345_MMA
MMO            987222        987222_MMO
Run Code Online (Sandbox Code Playgroud)

基本上,对于导出中的这个示例,我在第一行缺少 4 个空格,在第二行缺少 3 个空格。

这是我当前的代码,其中还包括用于创建 MD5 的新行。

    # Load input data
$PreSystem = [IO.File]::ReadAllText("C:\FILE.txt")

# Initiate md5-hashing
$md5 = new-object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
$utf8 = new-object -TypeName System.Text.UTF8Encoding

# Split input data by lines
$all = $PreSystem.split("`n") 

# Loop over lines
for($i = 0; $i -lt $all.length-1; $i += 1) {
  # Access distinct lines
  $entry = "$($all[$i])"
  # Get the different …
Run Code Online (Sandbox Code Playgroud)

powershell powershell-2.0 fixed-width

3
推荐指数
1
解决办法
1万
查看次数

如何在Perl中从固定宽度格式中提取列?

我正在编写一个Perl脚本来运行并获取各种数据元素,例如:

1253592000
1253678400                 86400                 6183.000000
1253764800                 86400                 4486.000000 
1253851200  36.000000      86400                10669.000000
1253937600  0.000000       86400                 9126.000000
1254024000  0.000000       86400                 2930.000000
1254110400  0.000000       86400                 2895.000000
1254196800  0.000000                             8828.000000
Run Code Online (Sandbox Code Playgroud)

我可以抓住这个文本文件的每一行没问题.

我正在使用正则表达式来抓取每个字段.一旦我在变量中有一行,即$ line - 我怎样才能抓住每个字段并将它们放入自己的变量中,即使它们有不同的分隔符?

perl fixed-width

2
推荐指数
1
解决办法
7289
查看次数

Perl格式(iesprintf)未在html显示中保留

我遇到了一些问题.最初,我有以下格式输入:

12345     apple
12     orange
Run Code Online (Sandbox Code Playgroud)

我将第一列保存为$ num,将第二列保存为$ fruit.我希望输出看起来像这样(见下文).我希望输出对齐,就像$ num的长度一样.实际上,$ num将包含可变长度的数字.

12345     apple
12        orange
Run Code Online (Sandbox Code Playgroud)

如建议的那样,我使用以下代码:

$line = sprintf "%--10s %-20s", $num, $fruit;
Run Code Online (Sandbox Code Playgroud)

此解决方案在命令行显示方面效果很好,但是当我尝试通过HTML显示此格式时,不会保留此格式.例如..

print "<html><head></head><body>
        $line
        </body></html>";
Run Code Online (Sandbox Code Playgroud)

这会在格式化之前产生与原始相同的输出.你们有一个关于如何在html基于网络的显示中保留sprintf格式的建议吗?我尝试使用空格填充$ num,但以下代码似乎对我不起作用.

$num .= (" " x (10 - length($num)));
Run Code Online (Sandbox Code Playgroud)

无论如何,我将不胜感激任何建议.谢谢!

html fixed-width

2
推荐指数
1
解决办法
1007
查看次数

将固定宽度的文本文件导入sqlite

将固定宽度的文本文件导入sqlite表的好方法是什么,最好不使用外围软件?

例如,指定每个字段的宽度

Field 1: 10 characters starting with the second character
Field 2: 5  characters starting with the twelfth character
Field 3: 7  characters starting with the eighteenth character
Run Code Online (Sandbox Code Playgroud)

这条线

AABCDEFGHIJABCDEAABCDEFGA
Run Code Online (Sandbox Code Playgroud)

将被导入为:

Field 1     Field 2  Field 3
ABCDEFGHIJ  ABCDE    ABCDEFG
Run Code Online (Sandbox Code Playgroud)

谢谢

sqlite text fixed-width

2
推荐指数
1
解决办法
2497
查看次数

具有固定宽度的Java打印字符串

我必须用Java编写一个代码,它将获取一个String并在每一行(固定宽度)上放置一定数量的字符.我还需要添加额外的空格来填充任何额外的位置,比如如果四个单词只等于23个字符并且该行需要25个,那么我需要输入两个额外的空格.这是一个初级课程,所以它只需要尽可能基本.到目前为止,我所拥有的是:

public static void print (String[] theWords, int width) {

  int start = 0, end = 0, lineCounter = 0;
  int[] gaps;
Run Code Online (Sandbox Code Playgroud)

我从哪里开始?

java string fixed-width

2
推荐指数
1
解决办法
5983
查看次数

CSS:如何使自定义文件上传按钮采用全宽(按钮有效)

我是 CSS 新手,希望有人能帮助我解决这个问题。

我正在尝试将简单的自定义样式应用于文件上传按钮(作为HTML 表单的一部分),使其看起来与页面上的其他按钮相似,并在跨浏览器上获得相似的外观。

到目前为止,我已经按预期工作了以下内容。我现在唯一的问题是我希望按钮占据其父 div 的完整宽度(在我的例子中,这将跨越页面的 9/12('col-9'))。

我尝试添加width: 100%;到 CSS 但按钮不再起作用。

我的HTML:

<div class="col-3 frmCaption">Attachments:</div>
<div class="col-9">
    <div class="customUpload btnUpload btnM">
        <span>Upload files</span>
        <input type="file" class="upload" />
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我的CSS:

.btnDefault, .btnUpload {
    background-color: #FFFFFF;
    border: 1px solid #CCCCCC;
    color: #333333;
    cursor: pointer;
    font-weight: 400;
    display: inline-block;
    padding: 6px 12px;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
}       
.btnDefault:focus, .btnDefault:hover, .btnUpload:focus, .btnUpload:hover {
    background-color: #E6E6E6;
}
.btnM {
    border-radius: …
Run Code Online (Sandbox Code Playgroud)

html css block width fixed-width

2
推荐指数
1
解决办法
4590
查看次数

pyspark 写入失败并出现 StackOverflowError

我计划在 AWS Glue 中将固定宽度转换为 Parquet,我的数据大约有 1600 列和大约 3000 行。似乎当我尝试编写 Spark 数据框(镶木地板)时,我遇到了“StackOverflow”问题。
即使我执行 count()、show() 等操作,也会出现问题。我尝试调用 cache()、repartition() 但仍然看到此错误。

如果我将列数减少到 500,代码就可以工作。

请帮忙

下面是我的代码

    data_df = spark.read.text(input_path) 

    schema_df = pd.read_json(schema_path)
    df = data_df

    for r in schema_df.itertuples():
        df = df.withColumn(
            str(r.name), df.value.substr(int(r.start), int(r.length))
        )
    df = df.drop("value")

    df.write.mode("overwrite").option("compression", "gzip").parquet(output_path) # FAILING HERE
Run Code Online (Sandbox Code Playgroud)

下面的堆栈跟踪。

> 
2021-11-10 05:00:13,542 ERROR [main] glue.ProcessLauncher (Logging.scala:logError(70)): Error from Python:Traceback (most recent call last):
  File "/tmp/conv_fw_2_pq.py", line 148, in <module>
    partition_ts=parsed_args.partition_timestamp,
  File "/tmp/conv_fw_2_pq.py", line 125, in process_file
    df.write.mode("overwrite").option("compression", "gzip").parquet(output_path)
  File "/opt/amazon/spark/python/lib/pyspark.zip/pyspark/sql/readwriter.py", …
Run Code Online (Sandbox Code Playgroud)

fixed-width apache-spark parquet pyspark

2
推荐指数
1
解决办法
3898
查看次数