首页 > 解决方案 > Python在32个字符后截断字符串?

问题描述

因此,我编写了以下简单的 Python 脚本,该脚本从 CSV 中获取数据并为 3D 打印机输出这些配置文件。一切都很好,除了当我在双 for 循环中添加字符串时,它会在 32 个字符后切断字符串。谁能解释为什么会发生这种情况以及如何防止它?提前致谢!

import numpy as np

file = open('QualityData.csv')

data = np.genfromtxt(file, delimiter=",",dtype=str) #importing data

headers=data[[0,1],:]
data = np.delete(data,(0,1),0) #delete rows

titles=data[:,0]
data = np.delete(data, 0,1) #delete columns

r,c=np.shape(data)
profs = np.zeros((r,c))
profs = np.array(profs,dtype=str) #build data array for config file


for i in range(r):  #fill data array
    for j in range(c):
        if i in (0,4,5,12,13):
            profs[i,j]=titles[i]
        else:
            profs[i,j]=titles[i]+' = '+data[i,j]
            print(profs[i,j])

for k in range(c): #create filename and save it
    varient=str(data[11,k])
    varient=varient.replace(' ','_')
    filename = str(data[10,k]) + '_' + varient + '_' + str(data[8,k])+'.inst.cfg'
    np.savetxt(filename, profs[:,k], newline='\n',fmt='%s')

有超过 32 个字符的字符串可以毫无问题地放入titles 数组中,但是当它们在 else 语句中加在一起时,它只接受前 32 个字符。

标签: pythonstringconcatenation

解决方案


推荐阅读